Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Где взять справку по Word?


Автор: dm9 27.3.2004, 19:13
Всем привет.

Где можно взять справку по функциям, используемым при работе с Word через OLE?

Есть хороший способ промотреть список этих ф-ций: в Ворде правой кнопочкой мыши щёлкнуть на меню -> Настройка -> Клавиатура.

А вот где узнать передаваемые параметры?

PS Где-то слышал про хелп C:\Program Files\Microsoft Office\Office\1049\VBAWRD9.CHM, но в нём не смог найти даже простешего FileSaveAs (плохо искал?).

Автор: mr.DUDA 27.3.2004, 23:11
В этих случаях хорошо помогает справка по Microsoft Visual Basic, встроенная во все компоненты офиса. Там есть полные описания всех классов, коллекций, глобальных объектов и функций, какие только входят в Office - от Application до CommandBars.
Добавлено @ 23:17
З.Ы, сначала вызывается редактор VBA (Alt+F11), потом пишем что-нибудь в редакторе, например Application, жмём F1 - получаем справку по объекту. Или же можно кратко пробежаться по методам и свойствам через Object Browser (не помню, какая гор. клавиша).

Автор: dm9 28.3.2004, 02:18
Что-то я туплю.
Ввожу EditReplase или FileSaveAs (Этими функциями я точно пользовался через OLE)
Нажимаю F1.

Keyword Not Found

Может, я не там набираю?

Включаю Object Browser. Набираю в строке поиска название функции (FileClose, скажем).
"No items found".

Может, у меня что-то не установлено? Хотя, вроде, при установке включал справку по VisualBasic...

Автор: mr.DUDA 28.3.2004, 12:06
Цитата
Ввожу EditReplase или FileSaveAs (Этими функциями я точно пользовался через OLE)

А как насчёт
Код
ActiveDocument.SaveAs "FileName"

и
Код
ActiveDocument.Select
Selection.Find.Execute FindText:="aaa", ReplaceWith:="bbb"

???

Автор: dm9 28.3.2004, 19:20
Да, справку по этим методам я смог получить...

Конкретнее что мне надо:

Код
uses ComObj;

var OLE : Variant;

OLE := CreateOLEObject ('Wod.Basic');
OLE.AppShow;
OLE.FileNew;

...

OLE.FileSaveAs (FileName, 3);
OLE.FileClose (2);


Это рабочий код.
Я знаю, что число 3 в вызове FileSaveAs означает сохранение только текста.
Когда-то мне понадобилось заменить в документе все слова Str1 на слова Str2 без учёта регистра. Методом тыка я нашёл нужный мне параметр, передаваемый функции EditReplace. Он был девятым по счёту... Так вот, как мне узнать, что надо передавать в скобочках?

Автор: mr.DUDA 29.3.2004, 10:37
А, так это делфи...
Все управляющие константы в Ворде имеют имена, начинающиеся с "wd". Например, при сохранении можно указать тип документа - RTF, HTML, текст дос и т.п., используя значения wdFormatDOSText, wdFormatRTF и т.п. Чтобы узнать числовое значение константы, можно пойти 2-мя путями:
- в колонке "Classes" окна Object Browser выбрать тип перечисления, в нашем случае это будет WdSaveFormat; в открывшемся справа списке выбрать нужную константу, в окне внизу отобразится её значение
- написать простейшую процедуру, запустить её в отладке и посмотреть значение числовой переменной:
Код
Sub xxx()
   i = wdFormatRTF
End Sub

Автор: dm9 29.3.2004, 16:20
А где узнать что означает какой параметр функции?

Вроде такого:
Функция EditReplace (q1, q2 ,q3, ..., q9).
Первый параметр - ...
Второй параметр - ...
...
Девятый параметр - ...

Автор: mr.DUDA 30.3.2004, 13:25
Цитата
А где узнать что означает какой параметр функции?

Вроде такого:
Функция EditReplace (q1, q2 ,q3, ..., q9).
Первый параметр - ...
Второй параметр - ...
...
Девятый параметр - ...

Глобальных функций типа EditReplace в VBA не бывает. Каждая функция "привязана" (является методом) к своему глобальному объекту класса. Скорее всего, EditReplace(q1,...) - это функция-посредник, сгенерированная Delphi, или что-то типа того... Нужно разобраться, какая функция действительно вызывается при вызове EditReplace (скорее всего это будет Find.Execute), и посмотреть её параметры в MSDN или справке по VBA.
Добавлено @ 13:26
З.Ы. насколько мне не изменяет память, в Delphi есть специальная панель с объектами MS Office - может стоит её заюзать ?...

Автор: Kesh 30.3.2004, 15:12
Да все это есть в Ворде самом, правда на Ваське... Открываешь редактор VB а уже потом запускаешь его справку... Находишь все, что надо... И даже с комментариями...

Автор: dm9 30.3.2004, 16:03
Kesh, а можно пошаговую инструкцию? Я вот искал-искал... withstupid.gif

mr.DUDA, я бы в это поверил, но ведь эти названия (EditReplace, etc.) есть в самом ворде!!!

Цитата
в Ворде правой кнопочкой мыши щёлкнуть на меню -> Настройка -> Клавиатура


Ведь не с потолка же это всё! Где-то должно быть описалово.

Автор: Kesh 31.3.2004, 21:31
Вот здесь...

Автор: Kesh 31.3.2004, 21:32
А вот дальше

Автор: Kesh 31.3.2004, 21:34
А вот еще...

Автор: dm9 1.4.2004, 02:42
Kesh, спасибо... Но я уже понял, что каждой ф-ции есть своя эквивалентная в VB. Но конкретно FileSaveAs, EditReplace - по ним мне справки не достать?

Ну вот покажи мне справку по методу ViewWeb, который я использовал в своём проекте. Он работает, но узнал я об этом методе только благодаря тому же диалоговому окошку:
Цитата
в Ворде правой кнопочкой мыши щёлкнуть на меню -> Настройка -> Клавиатура


И даже не знаю, есть ли у него передаваемые параметры (хотя и без них работает так, как меня утраивает).

Извините за настойчивость, но вопрос меня правда очень интересует...

Автор: Debet 28.5.2004, 14:06
Может кто подскажет? Модифицировал чужой документ слияния и он перестал автоматически загружать файл-источник данных. Надо нажать кнопку "объединить" - тогда создаются два экземпляра документа, как два листа, в первом на месте полей слияния подставлены коды полей слияния.
Второй - нормальный результат слияния, вместо полей слияния подставлены данные из файла-источника, т.е. как надо.
Где эти настройки? В диалоговом окне слияния все нормально.
Что-то еще надо настроить...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)