Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 1
Регистрация: 26.08.2010
Сообщений: 133
1

Доступ к макросу MSWord

21.09.2010, 18:15. Показов 1202. Ответов 6
Метки нет (Все метки)

Есть документ MSWord, необходимо получить доступ к его макросам: определить наличие, изменить, сохранить, etc. Как запустить Ворд, открыть/сохранить документ я знаю.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.09.2010, 18:15
Ответы с готовыми решениями:

Доступ к макросу .gms
Всем привет. Есть макрос но не могу его редактировать. Кто может помочь вскрыть его? Спасибо за...

Серийник к макросу. Как разблокировать и получить доступ
Здравствуйте. У меня имеется некий макрос который работает только на одном ПК (при запуске на...

Вопросы по макросу
Здравствуйте, уважаемые коллеги! :-) Что-то я никак не могу понять каким образом построен макрос,...

Серийник к макросу
Здравствуйте. У меня имеется некий макрос который работает только на одном ПК (при запуске на...

6
Lizka
17.10.2010, 07:11 2
Заходи в Word. Там есть Сервис -> Макрос -> Начать запись... Запускаешь его и делаешь что-либо в документе. Затем останавливешь и заходишь опять в Сервис -> Макрос -> Макросы... Там куча макросов. Выбираешь свой и нажимаешь Изменить. Тебе открывается окошко с кодом на VB. За небольшим изменением переделываешь в код Delphi. Вот собственно и всё!
1 / 1 / 1
Регистрация: 26.08.2010
Сообщений: 133
18.10.2010, 20:08  [ТС] 3
Дык, это я первым делом пытался провернуть, знаю такой метод
Только в этом случае он не поможет, можешь сама проверить, в макросе только код запуска VB-редактора и все
А мне нужно само тело макроса. Весь хелп вордовский по визуалбейсику перерыл, но он какой-то недоделанный что-ли, ничего не нашел
0
0 / 0 / 0
Регистрация: 09.07.2010
Сообщений: 55
19.10.2010, 11:30 4
Насчёт хелпа полностью с тобой согласен. Сам хотел такую фишку провернуть и максимум, что удалось получить, методом проб и ошибок, так это выполнить поиск по модулю (если знаешь название модуля) на наличие нужной строки:
Код
var startline, startcol, endLine, endcolumn : Integer;
begin
startline := 0;
startcol := 1;
endcolumn := 1;
endLine := WordApplication1.ActiveDocument.VBProject.VBComponents.Item('Module1').CodeModule.CountOfLines;
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
If WordApplication1.ActiveDocument.VBProject.VBComponents.Item('Module1').CodeModule.Find('Public Sub MyMacros()', startline, startcol,
endLine, endcolumn, False, False,False) Then
ShowMessage('MyMacros() - существует!');
Для замены строки макроса можно вместо Find применить ReplaceLine, а для удаления DeleteLines.

Было бы хорошо просто создать, а потом удалить модуль, но вот создать получается, а удалить что-то никак:
WordApplication1.ActiveDocument.VBProject.VBComponents.Remov e (ActiveDocument.VBProject.VBComponents.Item('Module1'))
Может с Remove, что-то ни так сделал? И как можно узнать какие модули созданы в документе?

ЗЫ: Это всё работает если стоит галочка доверять доступ к Visual Basic Project. Если продвинешься дальше в этом вопросе обязательно напиши.
0
1 / 1 / 1
Регистрация: 26.08.2010
Сообщений: 133
19.10.2010, 20:12  [ТС] 5
В принципе, я нашел прогу для решения своей задачи, остался только чисто академический интерес. Но если все же что-то попадется - обязательно поделюсь Всем спасибо, тема не закрыта, советы принимаются
0
s79+
01.11.2010, 08:24 6
А поделиться ссылкой на программку?
1 / 1 / 1
Регистрация: 26.08.2010
Сообщений: 133
01.11.2010, 18:52  [ТС] 7
http://www.avast.com/eng/avast_4_home.html

Это простой антивирус. Мне от него требовалось только умение просматривать вордовские макросы и чистить их от одного макровиря (д-р Веб почему-то его упорно не замечал). Хотел написАть свою утилитку, но застопорился на доступе к макросу

Вот, собственно...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.11.2010, 18:52

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

С делфи к макросу в WORD
Люди добрые как из делфи7 достучаться до макроса в ворде и позицию любого символа типа row или сol

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

Вопрос по макросу Excel
Есть макрос для Excel в нем Rpath = 'c:цццц ' и есть переменная pr2 = Trim(Cells(Nstr, 3)) из нее...

Вопрос по макросу #define
Есть макросы, описывающие подключение датчика к ногам микроконтроллера (AvrStudyo4, WinAVR):...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.