КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Доступ к данным документов Word
Доступ к данным документов Word и Excel При написании макросов, обрабатывающих данные, одной из важнейшей проблем является проблема получения доступа к данным. Это необходимо для переписи их в переменные, использующиеся макросом при обработке информации, и для записи в документ информации, полученной в результате работы макроса. Решение указанной проблемы далеко неочевидно для неподготовленного программиста При получении доступа к данным документа Word возможны следующие случаи: · необходимо перейти на строку с конкретным номером и на символ с заданным номером, · необходимо переместиться на заданное число строк и на заданное число символов от позиции курсора, · необходимо выделить конкретное число строк или символов, начиная от позиции курсора, · необходимо выполнить какие-либо операции с выделенными символами или с некоторыми из них. Эту задачу позволяет решить объект Characters Collection Object, встроенный в объект Range, который в свою очередь встроен в объект Selection, являющийся компонентом первичного объекта Application. Методы доступа к данным перечислены в табл. 7.1, а методы, позволяющие выполнять операцию с данными, приведены в табл. 7.2. В табл. 7.1 в первой колонке жирным шрифтом выделен неизменяемый текст операторов. В описании языка Visual Basic for Microsoft Word вместо численных параметров стоят имена соответствующих констант: · параметр What=wdGoToLine – переход на строку, · параметр Which=wdGoToAbsolute – абсолютный номер строки, · параметр Unit=wdLine, если имеется в виду строка, · параметр Unit=wdCharacter, если имеется в виду символ, · параметр Extend=wdExtend для включения режима выделения символов, · параметр Extend опускается для простого перемещения курсора. Заданные численные значения констант определены экспериментально. Изменяемые программистом значения параметров напечатаны обычным шрифтом. В примерах значения изменяемых параметров выделены жирным шрифтом для того, чтобы их можно было легко связать с комментарием. Переход на заданную строку выполняется методом Selection.GoTo, переход относительно курсора и выделение символов – методами MoveLeft, MoveRight, MoveUp, MoveDown. Для выделения символов указывается параметр Extend=wdExtend. Выполнение различных действий по редактированию текста возможно в двух вариантах – печать символов в режиме вставки, печать в режиме замены выделенных символов и операции над выделенными символами. Печать символов выполняется методами: Selection.TypeParagrph, Selection.TypeText и Application.Keyboard. Следует иметь в виду, что выделенные символы рассматриваются как некоторый массив символов, к которому применимы ранее рассмотренные методы чтения данных из массива и записи данных из массива.
7.2.2. Доступ к данным, помещенным в клетки Доступ к отдельно взятой клетке начинается с выделения клетки командой Range("адрес_клетки").Select. Например, Range("A1").Select. Следующим шагом при записи данных является применение оператора присваивания значения записываемых данных свойству FormulaR1C1 объекта ActiveCell. Например, по команде ActiveCell.FormulaR1C1 = "123" в активную (выбранную, текущую) клетку записывается число "123". Если необходимо переписать данные из ячейки в переменную, то следует активизировать клетку командой Range(…), а потом применить оператор присваивания вида имя_переменной = ActiveCell.Value. Например, команда a1 = ActiveCell.Value записывает в переменную а1 данные из текущей клетки. В случае необходимости обработать блок клеток общий подход сохраняется, но меняются средства достижения цели. На первом шаге командой Range(…) активизируется базовая клетка, относительно которой будут искаться клетки-источники данных и клетки-приемники данных. На втором шаге командой ActiveCell.Offset(rowOffset:=…, columnOffset:=…).Activate активизируется нужная клетка. Параметры rowOffset и columnOffset допускают определение по значениям переменных. Это позволяет строить процессы чтения и записи данных в виде цикла. Далее применяются описанные выше команды ActiveCell.FormulaR1C1 и ActiveCell.Value. На рис. 7.4 показаны фрагменты процедуры, читающие данные из клеток c3, d3, e3, f3, g3 и записывающие их в клетки c5, d5, e5, f5, g5. Dim i As Integer Dim b(1 To 10) As Integer Worksheets("Лист2").Activate 'переход на второй лист For i = 1 To 5 'чтение данных из клеток в массив Range("b2").Select ActiveCell.Offset(rowOffset:=1, columnOffset:=i).Activate b(i) = ActiveCell.Value Next i For i=1 to 5 'запись данных из массива в клетки Range("b2").Select ActiveCell.Offset(rowOffset:=3, columnOffset:=i).Activate ActiveCell.FormulaR1C1 = b(i) Next i Рис. 7.4. Чтение данных из блока клеток в массив
Дата добавления: 2014-11-29; Просмотров: 389; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |