Уважаемый посетитель!
Так как в Вашем браузере запрещено использование JavaScript для web-страниц, меню сайта Вам не доступно.
Для навигации по сайту используйте пожалуйста карту сайта.

Сделать стартовой Добавить в избранное Обратная связь

партнеры

SQL.RU

Детский Дворик - Портал детских фотографий

ГавГав.Инфо - портал для собаководов-любителей и профессиональных кинологов

информация

реклама

English version
« Оглавление Глава 2 »

Глава 1

OLE-программирование на PowerBuilder для Microsoft Word 97

1. Как получить правильный синтакс команд Visual Basic For Application (VBA), необходимый для работы с Word 97 и как преобразовать его в правильный синтакс Power Builder

В Word 8, Office 97, Майкрософт изменил способ взаимодествия приложений с Word через механизм OLE. Старый синтакс WordBasic может не работать правильно в новой версии Word, поэтому может потребоваться его перевод в синтакс VBA.

1.1 Использование редактора макросов Word

Простейший путь понять функции VBA и их синтакс - это использование встроенного в Word редактора макросов. Для того чтобы увидеть функции VBA, включите запись макросов в Word, выполните необходимую задачу (например, выделите какой-то текст) и выключите запись макросов. Нажав ALT + F11, Вы можете открыть редактор макросов и увидеть синтакс, сгенерированный программой Word.

Для того, чтобы получить полное описание функций и увидеть полный синтакс, Вы можете использовать справочный файл VBAWRD8.HLP, который можно установить, выбрав выборочную инсталляцию при установке пакета Office и выбрав опцию "Справка по VBA" (Этот файл не инсталлируется при стандартной установке). В этом файле Вы можете найти полную информацию по функциям, которые вы можете использовать в Word и их синтакс на VBA и WordBasic. Далее Вы получите информацию о функциях, которые Вы можете использовать в Word 8.

1.2 Перевод синтакса VB в синтакс PowerBuilder
Примечания:
а. PowerBuilder использует квадратные скобки для индексов массивов
б. Функции с несколькими параметрами разделяются запятой между круглых скобок

Пример перевода :
Макрос, записаный редактором макросов Word.

Вот описание функции MoveLeft(), использованной в макросе, взятый из справочного файла VBAWRD8.HLP
Синтакс для вызова функции MoveLeft()
Возникает вопрос: какое значение имеют константы "wdWithInTable" и "wdCharacter"? Об этом вопросе известно только то, что Word не предоставляет никакой информации об этом для Power Bulider. Тем не менее, каждая константа связана со значением, которое должно быть использовано в нужном месте. В основном, все они являютсе типом данных Integer, и Вы можете отобразить их в окне сообщения (Message Box), для того, чтобы узнать их истинное значение.

В дополнение к справочной системе, на сервере поддержки компании Майкрософт размещена техническая статья, содержащая числовые эквиваленты всех констант, которые могут быть найдены в пакете Office.
ID этой статьи - Q112671.

В PowerBuilder, Вы должны передавать в функцию действительное значение констант Word. Вы также можете объявить константу в PowerScript и ассоциировать ее с тем же значением; затем вызвать функцию Word и использовать обьявленную константу вместо действительного значения. Это позволит Вам легко делать глобальные изменения в Вашем коде, если Майкрософт решит изменить значение константы в будущем.

В части 3. Вы найдете список основных констант и их действительные значения.

1.3 Объектная модель Word
Если Вы откроете файл VBAWRD8.HLP, Вы найдете иерархию объектов в программе Word. Через OLE, Вы можете просмотреть иерархию, используя точечную нотацию PowerBuilder.

Вот несколько основных объектов/методов и атрибутов:
НаименованиеОписание
ApplicationПриложение
System Система
MailMessageПочтовое сообщение
SelectionВыделение
Selection.FontШрифт выделения
Selection.PagesetupНастройка страницы выделения
Selection.BorderГраницы выделения
Selection.WordsСлова выделения
ActiveDocumentАктивный документ
ActivePrinterАктивный принтер
CheckspellingПроверка орфографии
CheckGrammarПрверка грамматики
и т.д. 

Некоторые методы и атрибуты объекта Application приложение) могут использоваться без указания констант приложения.
Например, объекты ActiveDocument (активный документ) или Doceuments (Документы) считаются глобальными объектами в объектной модели Word. Поэтомк, вместо записи:
можно написать:


Далее Вы найдете несколько примеров кодов, использующих объекты, методы и атрибуты объектной модели Word.

2. Примеры кодов

Для работы всех кодов, приведенных ниже, в Power Builder должен быть динамически создан OLE-объект с помощью такого кода:

Если Вы используете PowerBuilder OLE control (ole_1), Вы должны также добавить константу "object" перед доступом к объектам, функциям и свойствам Microsoft Word.

или

2.1 Соединение с Word 8

2.2 Закладки

2.3 Проверка орфографии и грамматики

2.4 Как должен выглядеть текст

2.5 Перемещение по тексту и поиск текста

2.6 Активация и доступ к Word в datawindow
Если у Вас есть OLE столбец в datawindow, Вы должны активизировать столбец и ассоциировать его с OLE объектом для того, чтобы получить доступ к его свойствам и функциям:

3. Частичный список констант Visual Basic for Applications и их значений для PowerBuilder

Далее представлен список некоторых констант VBA, которые могут встретиться в Word. Для более полного списка констант, пожалуйста посетите сайт поддержки компании Майкрософт и произведите поиск в базе знаний Майкрософт (Microsoft knowledge base) статьи Q112671.



Перевод: Левчук Алексей 2003г.


Последнее обновление: 11.08.2016
реклама
ссылки


Продвижение сайтов

Биржа ссылок

статистика

Яндекс цитирования

(c)2002-2024 Ikar
Ikar Home Center
ICQ: 167220388
На сайте могут быть опубликованы рекламные материалы и ссылки. Всю ответственность за содержание рекламных материалов, текстов ссылок и контент рекламируемых сайтов несет рекламодатель.
hosted on pets-tree
.