|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.04.2013, 09:26 | #1 |
Пользователь
Регистрация: 10.04.2013
Сообщений: 21
|
Как из Excel запустить макрос в Word
Друзья, подскажите, как запустить из Excel другую процедуру, которая находится в Word?
Код ниже не дает результатов: Sub WordApp() Dim objDoc As Object Set objDoc = GetObject(, "Word.Application") objDoc.call Сохранение End Sub |
10.04.2013, 10:07 | #2 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
HenryO, команда "GetObject" работает с запущенной программой. У вас программа "Word" запущена во время работы макроса?
|
10.04.2013, 10:32 | #3 |
Пользователь
Регистрация: 10.04.2013
Сообщений: 21
|
Да, конечно, приложение запущено. Связь с этим файлом устанавливается, т.е., например, спокойно получается туда вставить какой-либо текст. Вот запустить Call надо как-то по-другому, наверное. VB ругается именно на "Сохранение". Как мне кажется, он пытается запустить процедуру в Excel (а там такой процедуры нет).
|
10.04.2013, 10:47 | #4 |
Старожил
Регистрация: 08.02.2012
Сообщений: 2,173
|
Код:
з.ы. объект Application в Word не знаком с методом call
Правильно поставленная задача - три четверти решения.
|
10.04.2013, 11:14 | #5 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
HenryO, чтобы посмотреть синтаксис команды "Run" в программе "Word", в программе "Word", в VBA поставьте курсор на слово "Run" и нажмите клавишу "F1". Откроется справка, в которой есть примеры, как обращаться к процедурам программы "Word".
|
10.04.2013, 12:57 | #6 |
Пользователь
Регистрация: 10.04.2013
Сообщений: 21
|
Пробовал objDoc.Run "Сохранение" (и без кавычек тоже). Писал и в модуле проекта, и в модуле Normal.
И так тоже пробовал (ниже). Sub WordApp() Dim objDoc As Object Set objDoc = GetObject(, "Word.Application") objDoc.Run "'Отчеты март 2013.docm'!Module1.Сохранение" End Sub Все время выдает ошибку Run-time "Не удается запустить указанный макрос" Макрос в ворде рабочий. Sub Сохранение() ThisDocument.SaveAs2 FileName:="C:\Users\hm\Desktop\Отче т344.pdf", fileformat:=wdFormatPDF End Sub |
10.04.2013, 13:24 | #7 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Удалил сообщение.
Последний раз редактировалось Скрипт; 10.04.2013 в 15:19. |
10.04.2013, 15:04 | #8 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
Да, чудеса творятся в Ворде!
Создал документ с макросом в Word2007, сохранил как DocWMacro.docm . При запуске из Excel (или из окна Immediate самогО Ворда, неважно) работает: Код:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
10.04.2013, 15:20 | #9 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Значит вывод такой, что в программе "Word" в VBA-методе "Run" нельзя указывать путь и имя Word-документа, а нужно указывать только имя модуля и имя процедуры.
А пример из VBA-справки по методу "Run" содержит ошибку. |
11.04.2013, 07:12 | #10 |
Пользователь
Регистрация: 10.04.2013
Сообщений: 21
|
Получилось наконец-то запустить макрос в Word-е. Не знаю почему, но первый код с объявлением переменной не заработал в итоге:
Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос импорта из Excel to Word | groder911 | Microsoft Office Excel | 10 | 06.08.2012 16:38 |
VBA макрос Excel to Word | groder911 | Помощь студентам | 0 | 01.08.2012 16:55 |
Запустить макрос WORD посредством DDE | Елена Гох | Microsoft Office Word | 0 | 12.02.2011 08:21 |
Помогите запустить глючащий макрос для WORD 2003 | Gamekowal | Microsoft Office Word | 2 | 07.01.2010 00:08 |
Как запустить макрос при изменении другой книги Excel? | Град | Microsoft Office Excel | 12 | 10.06.2008 10:01 |