Semenalidery.com

IT Новости из мира ПК
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Comобъект word application

Объектная модель MS Word, объект Application

9.1. Объектная модель MS Word

Microsoft Word 2007, как, впрочем, и другие приложения Office, имеет большую объектную модель , в которую входят множество объектов и коллекций. Однако на практике чаще всего используются лишь некоторые из них.

В частности, это следующие:

  • Word (Microsoft Word) — чтобы вызывать объекты Microsoft Office Word из других приложений используется объект Word.
  • Application (Приложение) — объект, который включает в себя все остальные объекты и коллекции. Сам объект Application включается в объект Word .
  • Documents (Документы) — коллекция, которая включает в себя объекты Document (Документ). Объект Document представляет собой документ, с которым вы работаете в редакторе.
  • Bookmarks (Закладки) — c помощью объектов этой коллекции можно задавать места в документе, в которые, при автоматическом создании, можно вставлять изменяемые части.
  • Paragraphs (Абзацы), Sentences (Предложения), Words (Слова), Characters (Символы), Tables (Таблицы), OMath (Математические формулы), Эти коллекции, содержащие объекты, соответствующие их названиям, могут использоваться для обработки слов документа ( Words ), предложений ( Sentences ), отдельных символов ( Characters ) и т.д.
  • Selection (Выделенная область) — представляет собой выделенную область документа или позицию, в которую будет осуществляться вставка очередного символа . Этот объект часто используют при создании простых документов. Однако у него есть существенные недостатки, что делает предпочтительнее использование объекта Range в большинстве случаев.
  • Range (Диапазон) — входит в Document и другие объекты, представляет собой диапазон документа, ограниченный начальным и конечным символом.

Работая с объектной моделью MS Word следует понимать, что, например, объекты Document и Selection могут содержать одинаковые коллекции объектов, например, и там и там есть коллекция Characters , в которую входят объекты Character — то есть — символы. Однако в случае с объектом Document мы можем работать с любым символом документа, а в случае с Selection — лишь с символами в пределах выделенной области. Однако, несмотря на различия, и там и там коллекция Characters имеет одинаковые свойства и методы. То же самое касается и других коллекций и объектов.

Давайте начнем с объекта Application и здесь же поговорим об использовании объектных переменных .

9.2. Работа с объектными переменными

Объектные переменные — это переменные, которые хранят ссылки на объекты . Чтобы инициализировать объектную переменную , нужно использовать ключевое слово Set . Например, так (листинг 9.1.):

Здесь вы можете видеть присваивание переменной ссылки на объект Word.Application . Код, подобный этому, нужен в других приложениях Microsoft Office для запуска нового экземпляра MS Word .

Для того чтобы вы могли работать с Microsoft Word из других приложений — подключите библиотеку Microsoft Word 12.0 Object Library . Сделать это можно, открыв в редакторе окно References командой Tools o References .

Немного ниже мы поговорим о том, что можно делать с объектными переменными , а пока сосредоточимся на их объявлении и инициализации.

Как видите, в листинге 9.1 мы не объявляли переменную — мы сразу присвоили ей ссылку на объект . При последующей работе с такой необъявленной объектной переменной , мы не сможем пользоваться подсказкой по свойствам и методам. Вспомните — когда вы набираете в редакторе имя элемента управления и ставите после него точку — вы видите подсказку. Это очень удобно, так как позволяет избежать ошибок и излишних «походов» в справочную систему VBA .

Для того чтобы справка по свойствам и методам работала, объектную переменную надо сначала объявить, а потом присвоить ей ссылку на объект . Например, так (листинг 9.2.):

Ссылку на объект можно присвоить в процессе объявления переменной. Для этого нужно воспользоваться ключевым словом New (листинг 9.3.):

Переменную, объявленную таким образом, мы можем сразу же использовать по назначению. Новый экземпляр объекта будет создан при первом обращении к нему.

О том, как же пользоваться объектными переменными , скорее даже не ими, а объектами, на которые они ссылаются, мы поговорим ниже.

9.3. Объект Application — приложение

Объект Application можно представить в виде приложения Microsoft Word .

Такой код позволит вывести в окно сообщения информацию об имени приложения:

Как видите, здесь мы обратились к свойству Name (Имя) объекта Application . Вот, что будет выведено при его исполнении (рис. 9.1.).

Здесь мы обходимся без объектных переменных , работая с уже существующим объектом. Ведь если этот код исполняется в Microsoft Word , это значит, что сам Microsoft Word уже запущен.

Чтобы упростить обращение к нескольким свойствам объекта, можно воспользоваться оператором With-End With . Этот оператор позволяет обращаться к нескольким свойствам или методам объекта в упрощенной форме. Например, чтобы вывести имя приложения и узнать номер сборки программы нужно воспользоваться таким построением (листинг 9.4.):

Здесь мы использовали объект Application — вместо него может быть любой другой объект или объектная переменная .

Еще один оператор, которым удобно пользоваться при работе с объектами и коллекциями — это For Each…Next .

Например, для вывода в окнах сообщений имен всех открытых документов, можно написать такой код (листинг 9.5.):

Var_Doc — это переменная типа Variant . Коллекция Application.Documents содержит все открытые документы. При каждом проходе цикла в переменную var_Doc записывается ссылка на очередной объект в коллекции.

Чтобы выйти из цикла , можно воспользоваться оператором Exit For .

Сейчас мы кратко опишем важнейшие методы , свойства и события объекта Application .

9.4. Методы объекта Application

9.4.1. BuildKeyCode, KeyString — горячие клавиши

BuildKeyCode возвращает уникальный цифровой код для заданной комбинации клавиш. Используется при назначении «горячих клавиш» для выполнения различных операций.

KeyString возвращает комбинацию клавиш для переданного кода.

Ниже мы рассмотрим пример программного назначения клавиатурной комбинации для вызова макроса.

9.4.2. ChangeFileOpenDirectorу — путь для работы с файлами

ChangeFileOpenDirectory позволяет установить директорию, в которой Microsoft Word ищет файлы для открытия. В установленной папке программа будет искать файлы при программном открытии файлов и при вызове окна открытия файлов.

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

Например, чтобы установить папку » C:Новые документы » в качестве папки по умолчанию, можно использовать такой код (листинг 9.6.):

Следует отметить, что если мы вызываем метод или свойство объекта Application из макроса Microsoft Word, мы можем опускать вызов Application — то есть, в вышеприведенном примере можно написать так:

9.4.3. CleanString — очистка строк

CleanString очищает переданную строку от непечатаемых и специальных символов, превратив ее в обычный текст. Такой же текст можно получить, если скопировать текст из Microsoft Word в Блокнот, а потом — обратно. Например, с помощью такого кода можно получить очищенную строку из выделенной области документа (листинг 9.7.).

9.4.4. Keyboard — программное переключение раскладки

Keyboard позволяет программно переключать раскладку клавиатуры. При переключении используется идентификатор языковых и клавиатурных установок. Чтобы включить русскую раскладку, можно воспользоваться таким кодом (листинг 9.8.):

Очевидно, что 1049 — это код русского языка. Для включения английской раскладки используйте этот метод с идентификатором 1033.

9.4.5. ListCommands — справка по горячим клавишам

ListCommands это необычный метод — если вызвать его с параметром True (листинг 9.9.) — он создаст новый документ, содержащий таблицу со списком клавиатурных сочетаний, назначенных командам MS Word. Таблица содержит несколько десятков страниц.

9.4.6. NewWindow — копия окна активного документа

NewWindow создает копию окна активного документа. Это может быть полезным например, для того, чтобы вывести один и тот же документ на два монитора при работе с расширенным рабочим столом и т.д. Например, метод можно вызвать так:

При необходимости можно задать, для какого именно документа вы хотите создать копию окна. Однако, это потребует использования других объектов. Например — коллекции Windows , содержащей окна документов. Такой код (листинг 9.11.) создаст одну копию для каждого открытого окна:

Мы не случайно запустили цикл обхода открытых окон в обратном порядке. Дело в том, что иначе будет создано несколько копий одного и того же документа.

Читать еще:  Вставка формулы в word 2020

В этом примере вам встретились неизвестные ранее свойства Count и Item . Первое обычно содержит количество элементов в коллекции, второе позволяет обращаться к элементам по индексам или именам.

При создании копии после имени документа появляется двоеточие с номером окна, например, «:1» для первого, «:2» для второго и т.д.

9.4.7. OnTime — запуск макросов по расписанию

OnTime позволяет устанавливать таймер, по которому можно запустить макрос в определенное время. Например, чтобы выполнить макрос MyMacros , который хранится в том же документе, что и исполняемый макрос, достаточно выполнить такой код (листинг 9.12.).

Параметр When указывает на время запуска, параметр Name — на имя макроса. Важно, чтобы макрос был доступен как в момент запуска таймера, так и в момент запуска самого макроса. Для того чтобы это условие соблюдалось, желательно хранить макросы, запускаемые по таймеру, в Normal.dotm , в другом глобальном шаблоне, или в том же документе, в котором произошел запуск таймера.

Как видите, мы привели пример лишь для запуска макроса в строго определенное время. А как же быть, если нужно запустить макрос, например, через пятнадцать секунд после выполнения какой-либо процедуры? Ответ прост (листинг 9.13.)

Здесь мы запускаем тот же самый макрос, но уже через 15 секунд после установки таймера. Функция Now имеет тип Date и возвращает текущую дату и время, а функция TimeValue преобразует переданное ей время в формат Date .

Если вы хотите, чтобы какой-то макрос запускался с некоторой периодичностью — установку таймера на запуск этого макроса можно установить в нем. Первый запуск макроса можно произвести вручную или каким-то другим способом (например — по событию приложения, с помощью автоматически выполняемого макроса), а последующие запуски этот макрос будет инициировать самостоятельно.

Благин Константин

Программирование как созидательный процесс.

Использование шаблонов Word в 1С

Использование шаблонов Word в 1С

В работе программиста 1С, данный функционал требуется крайне редко, хотя благодаря нему можно решать довольно сложные задачи с динамическими и не постоянными печатными формами. При реализации данной задачи, работа по созданию шаблонов Word и расстановке закладок в шаблоне Word возлагается на пользователей 1C.

В данном примере будет показано, как используя механизмы 1С и документа Word в качестве шаблона, можно создать печатную форму для вывода данных, пользователям программы 1С.

Создадим шаблон на основе документа Word для 1С. Сначала необходимо включить показ закладок для более удобной работы с документом:

Использование шаблонов Word в 1С

Использование шаблонов Word в 1С

Далее необходимо в файл шаблона для 1С, добавить текст и пару закладок. Закладка добавляется через меню «Вставка» — «Закладка». Нужно выделить текст закладки, скопировать его, открыть меню «Вставка — Закладка», вставить скопированный текст закладки и нажать «Добавить»:

Установка закладки, шаблон Word для 1С

В результат запуска внешней обработки 1С по формированию печатной формы на основе шаблона в виде файла Word, мы получим следующий результат:

Результат использования шаблонов Word в 1С

Информацию по методам COM объекта Word, а так же дополнительные данные можно узнать из MSDN.

Дополнение к заметке Использование шаблонов Word в 1С

Выражаю благодарность, всем тем, кто комментирует запись, благодаря вам, материал дополняется новыми данными и будет полезен более широкому кругу посетителей.

1. А как поменять размер шрифта во вставляемом тексте?
Достаточно изменить размер шрифта закладки, в шаблоне. А вот, если необходимо динамически менять размерность, тогда:

2. Картинки есть возможность выгружать в шаблон?
Да, конечно. Примеры для C# и VB описаны по ссылке: https://msdn.microsoft.com/ru-ru/library/ms178792.aspx, а для 1С код будет следующий:

3. При выполнении кода: ОбъектВорд.Documents.Add(«C:/Шаблон.docx») (туда я поместил Ваш документ) получаю ошибку : «Ошибка при вызове метода контекста (Add)» в чем может быть причина?
Может попробовать изменить путь на: «C:Шаблон.docx».

4. Подскажите пожалуйста еще почему при сохранении макета типа active document в файл word кодом:

Я получаю вместо нормального документа вот такой http://prntscr.com/eshgjk
Предполагаю, что метод Записать( , ) по умолчанию, записывает файл в формате MXL. Попробуйте вторым параметром установить значение: ТипФайлаТабличногоДокумента.DOCX, более подробно описано в «Синтакс-помощнике».

5. У меня в документе есть ссылки на файлы которые расположены на сетевом диске. Как в шаблоне сделать гиперссылку на эти файлы?
Интересный вопрос, если попробовать сделать запись макроса и посмотреть результат, то в Visual Basic добавление гиперссылки будет выглядеть следующим образом:

Соответственно код для 1С следующий:

Навигация по записям

Использование шаблонов Word в 1С : 29 комментариев

А как поменять размер шрифта во вставляемом тексте?

  1. Благин Константин Автор записи 27.11.2016 в 16:02

Достаточно изменить размер шрифта закладки, в шаблоне. А вот, если необходимо динамически менять размерность, тогда:

Добрый день, подскажите, пожалуйста, картинки есть возможность выгружать в шаблон?

  1. Благин Константин Автор записи 30.11.2016 в 15:03

Да, конечно. Примеры для C# и VB описаны по ссылке: https://msdn.microsoft.com/ru-ru/library/ms178792.aspx, а для 1С код будет следующий:

Спасибо, будем пробовать.

Снова, здравствуйте.
Вопрос по шаблонам. Попросили перенести шаблоны, написанные в Word из ЗиК 1.0 в ЗиК 3.0.
Как я понял — не перенесутся, нужно новые писать. Поскольку, учусь, то это даже на руку. За образец решил взять Ваш и начать разбираться. Но Ваш НЕ ГРУЗИТСЯ. Пишет:
Невозможно подключить дополнительную обработку из файла.
Возможно, она не подходит для этой версии программы.

Метод объекта не обнаружен (СведенияОВнешнейОбработке)
Кстати, когда пытаюсь загрузить шаблоны из 1.0, то пишет тоже самое.
Можете что-нибудь посоветовать?

  1. Благин Константин Автор записи 04.12.2016 в 15:29

Данная ошибка, появляется, потому что обработка создана просто как внешняя, без возможности подключения к 1С. Если вы хотите подключить какую либо обработку, в режиме «1С:Предприятие», тогда в модуле обработки необходимо вставить определенный код, более подробно описано по следующим ссылкам:
Добавление дополнительных отчетов и обработок в тонком клиенте.
Создание нового отчета или обработки
youtube: Создание внешней обработки

А насчет переноса могу посоветовать, проанализировать, как в ЗиК 1.0 производилось заполнение шаблона. Найти участки кода, которые за это отвечают, попробовать сначала перенести их во внешнюю обработку, для тестирования. Как вариант, сам шаблон можно положить в макеты (тип макета «Active document») этой обработки и уже оттуда загружать его.

Здесь есть несколько нюансов, механизм заполнения шаблонов и сами шаблоны, типовые, доработанные или самописные? Объекты которые используются для заполнения в ЗиК 1.0 могут отсутствовать в ЗиК 3.0 или иметь другое наименование. Плюс ко всему, необходимо еще учесть, что ЗиК 1.0 это обычное приложение, использующее толстый клиент, а ЗиК 3.0 управляемое приложение, использующее тонкий клиент, соответственно здесь тоже присутствует своя специфика работы.

Да и еще, в ЗиК 3.0 как мне кажется должен быть свой механизм шаблонов, к сожалению, не работал с этими конфигурациями, но вероятно там уже есть механизм аналогичный ЗиК 1.0. Так что может, будет достаточно только добавить шаблон.

Спасибо за быстрый и подробный ответ.
Попробую разобраться.
Шаблоны у нас самописные.
Про собственный механизм шаблонов, даже не слышал. Попробую поискать в сети.

Ваша ссылка помогла.
Добавил две функции и одну процедуру, и Ваша обработка заработала.
Свою, похоже , придётся рисовать с нуля.

При выполнении кода: ОбъектВорд.Documents.Add(«C:/Шаблон.docx») (туда я поместил Ваш документ) получаю ошибку : «Ошибка при вызове метода контекста (Add)» в чем может быть причина?

  1. Благин Константин Автор записи 05.04.2017 в 07:59

Может попробовать изменить путь на: «C:Шаблон.docx»

Помогло. Спасибо.
Подскажите пожалуйста еще почему при сохранении макета типа active document в файл word кодом:

ОбработкаОбъект = РеквизитФормыВЗначение(«Объект»);
Макет = ОбработкаОбъект.ПолучитьМакет(«ШаблонПисьмаПросрочка»);
ИмяФайла = КаталогВременныхФайлов() + «»файл.doc»;
Макет.Записать(ИмяФайла);

Я получаю вместо нормального документа вот такой http://prntscr.com/eshgjk

  1. Благин Константин Автор записи 05.04.2017 в 19:56

Предполагаю, что метод Записать( , ) по умолчанию, записывает файл в формате MXL. Попробуйте вторым параметром установить значение: ТипФайлаТабличногоДокумента.DOCX, более подробно описано в «Синтакс-помощнике».

Читать еще:  Как выровнять границы таблицы в word

Константин,
У меня в документе есть ссылки на файлы которые расположены на сетевом диске.
Как в шаблоне сделать гиперссылку на эти файлы?

  1. Благин Константин Автор записи 31.07.2017 в 21:27

Здравствуйте, Руслан.
Интересный вопрос, если попробовать сделать запись макроса и посмотреть результат, то в Visual Basic добавление гиперссылки будет выглядеть следующим образом:

Соответственно код для 1С следующий:

я хочу заполнить шаблон с помощью заполнения пользовательской формы. как получить значение,выбранное из списка, если тип поля СправочникСсылка.НазваниеСправочника?

  1. Благин Константин Автор записи 07.06.2018 в 19:03

Предполагаю заполнение производите на стороне клиента, тогда можете сразу обратиться к элементу формы или объекта.

Здравствуйте. Попросили обновить шаблоны договоров для печати. Обновила, но теперь при печати выводит ошибку, что не удалось сформировать элемент управления ActiveX. С чем это может быть связано?

  1. Благин Константин Автор записи 28.06.2018 в 11:30

Ирина, для ответа необходима дополнительная информация:
1. Какая конфигурация используется?
2. Каким образом происходило обновление шаблонов?
3. Ошибка выходит при формировании документа на основе данных и шаблона или при отправке на печать?

Доброго дня. Прошу помочь с задачей вставки в документ Word, ранее записанного файла HTML (из 1С сохранил на диск, браузером файл открывается нормально — отображается НЕ как текст)., а в документе Word формируется как текст не конвертированный.
Вставляю так
Word = ПечатнаяФорма.COMСоединение;
Select = Word.Selection;
Docum = Word.Application.Documents(1);
Select.InsertFile(«C:Temp1.html»);

  1. Благин Константин Автор записи 19.07.2019 в 13:32

В данный момент не пользуюсь Office, попробуйте использовать Selection.PasteAndFormat как было подсказано здесь: https://toster.ru/q/164995

Добрый день. Все бы хорошо, но, как сделать не обработку а печатную форму?
Я сделал внешнюю печатную форму с шаблоном типа Active Document, добавил пока одну закладку на пробу, подключил, чтобы при нажатии кнопки «Печать» из справочника «договоры» выполнялось. Открывается Word, все работает, но, в базе возникает окно где написано : Печать. Печатная форма недоступна. Как сделать чтобы окно не вылезало? Обработка не подходит потому что она не падает в меню кнопки «Печать»

  1. Благин Константин Автор записи 08.09.2019 в 11:48

1. Конфигурация какая?
2. Нужен скриншот ошибки.
3. Нужен код модуля для анализа.

Скажите пожалуйста а можно шаблон word в обработку вставить, чтобы он в конфигурации был

  1. Благин Константин Автор записи 02.12.2019 в 20:54

Добрый день, подскажите, пожалуйста, как сделать так, чтобы подобный документ создавался при нажатии на кнопку на форме . Я создала команду «Документ», но не понимаю, что нужно вписать в ее обработчик. У меня имеется документ «ПриемНаРаботу» в виде списка, я заполняю форму (фио, паспорт, должность, оклад). А после могу нажать на кнопку «Документ», чтобы увидеть тот самый шаблон word.Как это можно сделать?

  1. Благин Константин Автор записи 15.12.2019 в 14:07

Ирина, вы можете воспользоватся примером из обработки, ссылку на которую находится внизу заметки.
1. Подготовить шаблон Word, расставив в нем закладки;
2. В код команды добавить заполнение файла и его вывод.

Добрый день, а как можно вставить в колонтитул на разных листах в ворде номера бланков взятых из 1С( 1 лист бланк — №0089 ,2 лист бланк — №0090 и …)

  1. Благин Константин Автор записи 02.02.2020 в 14:46

https://infostart.ru/public/488556/
Цитата:
Каждая страница Word разделена на несколько областей:

Верхний колонтитул
Основной текст
Нижний колонтитул
Нужно заметить, что в каждом разделе может быть уникальный колонтитул для первой страницы.

Использование COM-объекта Word.Application для программной отрисовки таблиц и сборки документа

Опубликовано:
17 октября 2012 в 10:10

История вопроса

Необходимо печатать конверты по заданному макету. Задача довольно простая, когда мы заранее знаем, что необходимо печатать. Был создан интегрированный RTF-отчет. Посмотрев на него, пришли к выводу, что такой вариант будет недостаточно гибким, ведь почтовые конверты бывают разные, при условии, что наши организации закупают их не централизовано, с печатью могут возникнуть проблемы.

Часть I. Индекс.

Был выбран путь формирование отчета из макета. Все текстовые поля замечательно проставляются с помощью макропеременных, но появляется загвоздка в формировании индекса. В RTF-отчете он формировался с помощью таблицы. Выбирая разные стили границ, мы можем рисовать цифры. Можно было бы найти какой-нибудь подходящий шрифт, но его надо было бы устанавливать на все компьютеры, с которых возможна печать конвертов.

Посмотрели на готовый результат RTF-отчета с пустым индексом, сохранили его как docx, занесли в систему и обозвали макетом. Лишнее убрали, нужное добавили и сделали генерацию документа. И вот отчет уже почти готов.

Осталось нарисовать такие цифры:

В справке по VBA можно найти значения перечисления типа границы (wdBorderType). В соответствии с этими значениями создаем список соответствий, именем которого является цифра, значением – массив границ, формирующих число.

Приступаем к заполнению.

Часть II. Сборка единого документа.

Пожалуй, более полезная и распространенная, при этом, значительно более короткая часть изысканий в объектной модели Word.Application.

Рисование в таблице, как оказалось, не единственное действие, для которого нам понадобился данный COM-объект. В RTF-отчете, с помощью тегов, можно разбивать документ на страницы. При генерации документов из макета, их придется склеивать средствами, предоставляемыми COM.

GOTO_PAGE_ITEM – перечисление wdGoToItem. Определяет тип элемента для перехода. В нашем случае указываем, что перемещаемся по страницам.

GOTO_LAST_PAGE_DIRECTION – перечисление wdGoToDirection. Указывает направление перемещения. Для нас это последний элемент.

Эти перечисления указывают, что надо взять содержимое, находящееся на последней странице. Туда мы и вставляем новую информацию. Если бы эта страница имела бы какой-нибудь контент, он был бы заменен новой информацией. Если бы надо было добавить только подготовленную текстовую информацию, то можно было бы использовать метод InsertAfter для всего содержимого документа, но у нас во втором документе находится несколько более комплексная информация.

Для справки.

Более подробную информацию по данному объекту можно найти в MSDN и справке по VBA.

Объект Word Application — методы

В этой статье мы рассмотрим методы объекта Word Application, методов довольно много. В большинстве случаев данные методы представляют только теоретический интерес, так как не дают возможности создавать сам документ Word.

В статье я не буду приводить примеров кода, так как по сути, нечего показывать, вы и сами с легкостью сможете написть небольшой скрипт на языке VBScript или JScript, или просто добавить макрос в редактор VBA, и просмотреть, как работают Word Application методы.

Объект Word Application — Методы

Activate () — Активизирует указанный объект.

BuildKeyCode (Arg1, Arg2, Arg3, Arg4) — Возвращает уникальный номер для указанной комбинации клавиш. Обязательнм является только первый параметр (Arg1). Все параметры содержат значение константы WdKey.

KeyString (KeyCode, KeyCode2) — Возвращает строку комбинаций клавиш для указанных ключей, которые содержат значения константы WdKey (например, Ctrl + Shift + A). Обязательным является только первый параметр.

ChangeFileOpenDirectory (Path) — Устанавливает каталог, к которому Word будет обращаться при работе с документами. По умолчанию таким каталогом является “Мои документы”.

CheckGrammar (Str) — Проверяет строку на предмет грамматических ошибок. Вернет True, если строка не содержит ошибок. Word Application методы.

CheckSpelling (Str) — Проверяет строку на предмет орфографических ошибок. Вернет True, если строка не содержит ошибок.

CleanString (Str) — Удаляет непечатаемые символы (коды символов 1 — 29) и специальные символы из заданной строки или заменяет их пробелами (символ кода 32). Возвращает результат в виде обработанной строки.

GoBack () — Перемещение курсора назад по последним трем позициям, в которых происходило редактирование (аналогично нажатию Shift + F5), Word Application методы

GoForward () — Перемещение курсора вперед по последним трем позициям, в которых происходило редактирование.

Help (HelpType) – Метод Word Application отображает установленную информацию справки.

HelpType – Определяет параметры показа, содержит значение константы WdHelpType:

  • WdHelp — 0 — Отображает диалоговое окно справки.
  • wdHelpAbout — 1 — Отображает диалоговое окно «О программе Microsoft Word».
  • wdHelpActiveWindow — 2 — Отображение справку, описывающую команду, связанную с активным просмотром или панелью.
  • wdHelpContents — 3 — Отображает диалоговое окно справки.
  • wdHelpExamplesAndDemos — 4 — Отображает «Примеры и демонстрации».
  • wdHelpIndex — 5 — Отображает диалоговое окно справки.
  • wdHelpKeyboard — 6 — Отображает справку по сочитаниям клавиш.
  • wdHelpPSSHelp — 7 — Отображает информацию о поддержке продукта.
  • wdHelpQuickPreview — 8 — Отображает быстрый просмотр.
  • wdHelpSearch — 9 — Отображает диалоговое окно справки.
  • wdHelpUsingHelp — 10 — Отображение список разделов справки, которые описывают, как использовать Справку.
  • wdHelpIchitaro — 11 — Открывает файл справки для пользователей Ichitaro.
  • wdHelpPE2 — 12 — Показывает справку по IBM Personal Editor 2.
  • wdHelpHWP — 13 — Открывает файл справки для пользователей AreA хангыль.

ListCommands (ListAllCommands) — Создает новый документ, а затем вставляет в него таблицу, содержащую сочетания клавиш и описания методов.

ListAllCommands – Параметр содержит логическое значение, true – все команды, false – только основные команды.

Move (Left, Top) – Позиция окна задач или активного документа. Параметры определяют горизонтальную и вертикальную позицию. Word Application методы

NewWindow () — Открывает новое окно для текущего документа. Возвращает объект Window.

ShowClipboard () — Отображает Буфер обмена.

SubstituteFont (UnavailableFont, SubstituteFont) — Устанавливает варианты отображения шрифта.

UnavailableFont — Название шрифта, недоступного на вашем компьютере, который вы хотите сопоставить с другим шрифтом для отображения и печати.

SubstituteFont — Название шрифта, доступного на вашем компьютере, который вы хотите заменить недоступным шрифтом.

Quit (SaveChanges, OriginalFormat, RouteDocument) — выход Microsoft Word и, возможно, сохраняет или маршруты открытые документы.

SaveChanges — Определяет, сохранять ли сделанные изменения в документе. Значение константы WdSaveOptions:

  • wdDoNotSaveChanges — 0 — Не сохранять сделанные изменения.
  • wdPromptToSaveChanges — 2 — Запросить у пользователя, чтобы сохранить внесенные изменения.
  • wdSaveChanges — 1 — Сохранить сделанные изменения автоматически без запроса пользователя.

OriginalFormat – Определяет параметры сохранения. Значения константы WdOriginalFormat:

  • wdOriginalDocumentFormat — 1 — Оригинальный формат документа.
  • wdPromptUser — 2 – Пользователю будет предложено выбрать формат документа.
  • wdWordDocument — 0 – Формат документа Microsoft Word.

RouteDocument — True, чтобы направить документ на следующего получателя. Если документ не имеет маршрутизации, то аргумент игнорируется, Word Application методы.

ResetIgnoreAll () – снимает метку со всех фрагментов текста, которые помечены как «без проверки» в процессе проверки орфографии.

Resize (Width, Height) — Размеры окна приложения Word или указанного окна задач. Параметры определяют ширину и высоту окна.

Run (MacroName, varg1, … , varg30) – запуск указанного макроса Visual Basic. Обязательный только первый параметр.

MacroName — Имя макроса.

varg1 . varg30 – До 30 параметров, передаваемых макросу.

ScreenRefresh () – Метод включает обновление экрана в течении одной команды

KeyBoard (code) – Переключение раскладки клавиатуры, в качестве параметра (code) передается целое значение (например, 1033 – для русского языка, 1049 – для английского языка). Если вызвать метод без параметров, то будет возвращено текущее значение раскладки клавиатуры. Word Application метод.

OnTime (When, Name, Tolerance) – Устанавливает таймер для запуска макроса в указанное время.

When — Время, в которое нужно запустить макрос. Можно прописать строкой (“15:30”) или использовать функции работы со временем.

Name — Имя макроса.

Tolerance – Дополнительный параметр. Задает максимальное время в секундах, которое может пройти, прежде чем мкрос, который не успел запуститься будет отменен.

Следующие Word Application методы отвечают за преобразование измерительных величин.

CentimetersToPoints (Centimeters) — Преобразует сантиметры в пункты (1 см = 28,35 пункта).

InchesToPoints (Inches) — Преобразует дюймы в пункты (1 дюйм = 72 пункта).

LinesToPoints (Lines) — Преобразует линии в пункты (1 линия = 12 пунктов).

MillimetersToPoints (Millimeters) — Преобразует миллиметры в пункты (1 мм = 2,85 пункта).

PicasToPoints (Picas) — Преобразует пики в пункты (1 пик = 12 пунктов).

PixelsToPoints (Pixels, fVertical) — Преобразует пиксели в пункты.

fVertical – Дополнительный параметр, True – по вертикали, False – по горизонтали.

PointsToCentimeters (Points) — Преобразует пункты в сантиметры.

PointsToInches (Points) — Преобразует пункты в дюймы.

PointsToLines (Points) — Преобразует пункты в линии.

PointsToMillimeters (Points) — Преобразует пункты в миллиметры.

PointsToPicas (Points) — Преобразует пункты в пики.

PointsToPixels (Points, fVertical) — Преобразует пункты в пиксели.

События для Word Application — VBA

Объект Word Application предоставляет в распоряжение довольно много событий, но… изначально к ним нет доступа в редакторе VBA. Второй проблемой является то, что события Word Application VBA нельзя использовать в сценариях Windows Script Host, ну я такой лазейки не нашел.

Что бы появилась возможность работать с событиями данного класса в редакторе VBA, надо выполнить следующие действия:

  • Создаем новый модуль класса, для этого в меню Insert выберите пункт Class Module.
  • В окне редактора для созданного модуля пишем код:

Все, теперь в редакторе кода в окне объектов появится объект App, который и предоставляет возможность работать с событиями Word Application в VBA.

Знаю, знаю, статья получилась довольно сухая – практически нет примеров Но ничего, в следующей статье мы быстренько пробежимся по некоторым свойствам, а потом еще попытаемся осилить коллекцию Documents и класс Document, без которых просто невозможно двигаться дальше.

Спасибо за внимание. Автор блога Владимир Баталий

Работа с Word — Создание, открытие, форматирование, закрытие и сохранение

Использование Word в приложениях на Visual Basic 6 открывает широчайшие возможности для создания профессионально оформленных документов (например отчетов). Это часто необходимо при работе в фирме или на предприятии для обеспечения документооборота. Основным преимуществом использования Wordа в этом случае является то, что практически на всех компьютерах, используемых в фирмах и на предприятиях установлены Windows и пакет Microsoft Office. Поэтому подготовленные документы Word не требуют каких-либо дополнительных усилий для их просмотра, печати и редактирования. Единственное что нужно помнить, это то что работа через автоматизацию OLE (связывание и внедрение объектов) на деле оказывается довольно медленной технологией, хотя и очень полезной.

Чтобы использовать объекты Word в Visual Basic , необходимо инсталлировать сам Word. После этого вы получаете в своё распоряжение библиотеку Microsoft Word Object Library, которую нужно подключить к текущему проекту через диалоговое окно «Разработать»>>»Ссылки» (References) и указать Microsoft Word 9.0 Object Library (для Word 2000).

Два самых важных объекта Word это Word.Application и Word.Document. Они обеспечивают доступ к экземпляру приложения и документам Word.

Поэтому в раздел Generals «Общее» формы введите следующий код для объявления объектных переменных приложения Word и документа Word.

Чтобы создать новый экземпляр Word, введите такой код кнопки;

Для форматирования печатной области документа используйте данный код:

(вообще-то Word использует для всех размеров своих элементов пункты, поэтому для использования других единиц измерения, необходимо использовать встроенные функции форматирования.)

  • CentimetersToPoints(Х.ХХ) — переводит сантиметры в пункты.
  • MillimetersToPoints(X.XX) — переводит миллиметры в пункты

Для того чтобы в своём приложении не писать постоянно одно и тоже имя объекта, можно использовать оператор With.

Например код находящейся выше можно переписать так:

Если вам необходимо создать документ Word с нестандартным размером листа, то используйте данный код:

Данный код меняет ориентацию страницы (практически меняет местами значения ширины и высоты листа):

  • wdOrientLandscape — альбомная ориентация ( число 1)
  • wdOrientPortrait — книжная ориентация ( число 0)

Для сохранения документа под новым именем и в определенное место используйте данный код код:

После такого сохранения вы можете про ходу работы с документом сохранять его.

Или проверить, были ли сохранены внесенные изменения свойством Saved и если изменения не были сохранены — сохранить их;

Завершив работу с документом, вы можете закрыть сам документ методом Close и сам Word методом Quit.

Если в методах Close и Quit не использовать необязательный параметр True то Word запросит согласие пользователя (если документ не был перед этим сохранён) на закрытие документа.

Если вам необходимо оставить Word открытым, просто не используйте методы Close и Quit.

Если вам необходимо поставить пароль на документ, то используйте код:

Ссылка на основную публикацию
Adblock
detector