Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/19: Рейтинг темы: голосов - 19, средняя оценка - 4.53
1 / 1 / 0
Регистрация: 09.12.2012
Сообщений: 38

Запуск макроса из VB в Word

23.02.2013, 20:09. Показов 4054. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, как сделать что бы при нажатии на комманд1. запускался ворд и в нем выполнялся макрос, ну к примеру Макрос1.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2013, 20:09
Ответы с готовыми решениями:

Запуск макроса Excel в Word
Здравствуйте, пишет с просьбой о помощи вам девушка, которая далека от программирования примерно настолько же, насколько туфли от Лабутена...

Запуск макроса слияния документов Word
Добрый день! Есть макрос на VBA, который объединяет документы ворд из одной папки, указанной. Можно ли как то этот макрос заменить на...

Запуск макроса в указанное время, Word
Я ещё не искал по этой теме ничего, т.к. есть др. задачи, которые я решаю очень медленно. Вопрос в теме.

6
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
23.02.2013, 20:58
Цитата Сообщение от KochI Посмотреть сообщение
запускался ворд и в нем выполнялся макрос
Макрос в самОм Ворде? В Normal.dot, что ли?
Visual Basic
1
2
3
4
5
6
Sub Command1_Click()
With CreateObject("word.application")
    .Run "Макрос1"
    .Quit
End With
End Sub
2
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
23.02.2013, 23:07
Для модуля (с учетом пробелов в имени файла) выглядит так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Command1_Click()
 
strTemplate = "Dest.doc" 'Имя документа
strModule = "Module1" 'Имя модуля
strMacro = "MyMacro" 'Имя макроса
 
Set W = CreateObject("Word.Application")
W.Documents.Open App.Path & "\" & strTemplate
 
W.Windows(1).Visible = True
 
W.Run "'" & Left(strTemplate, InStrRev(strTemplate, ".") - 1) & "'!" _
    & strModule & "." & strMacro
End Sub
Для Excel-я чуть по-другому (+ демонстрация передачи параметра):

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Command1_Click()
 
strTemplate = "Dest.xls"
strModule = "Module1"
strMacro = "MyMacro"
strParameter = "10"
 
Set XL = CreateObject("Excel.Application")
XL.WorkBooks.Open App.Path & "\" & strTemplate
 
XL.Windows(1).Visible = True
 
XL.Run Macro:="'" & strTemplate & "'!" _
    & strModule & "." & strMacro, Arg1:=strParameter
End Sub
Принимающий код выглядит так:

Visual Basic
1
2
3
Public Sub MyMacro(arg)
MsgBox arg
End Sub
А вот к Word-у прикрутить аргумент не получилось. Выбрасывает ошибку.
1
1 / 1 / 0
Регистрация: 09.12.2012
Сообщений: 38
24.02.2013, 16:52  [ТС]
Благодарю за столь развернутый ответ, но в чем у меня загвоздка?
Миниатюры
Запуск макроса из VB в Word  
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
24.02.2013, 16:57
См. пример. Там и другие (лишние файлы) в проекте. В общем разберетесь.
Вложения
Тип файла: rar Application.Run (MyMacro).rar (16.5 Кб, 65 просмотров)
1
es geht mir gut
 Аватар для SoftIce
11274 / 4760 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
25.02.2013, 18:27
KochI, Вам Ворд нужен только для того, чтобы выгрузить туда несколько фамилий, отправить на печать, и закрыть без сохранения?
Вложения
Тип файла: rar Новая папка.rar (2.3 Кб, 44 просмотров)
1
1 / 1 / 0
Регистрация: 09.12.2012
Сообщений: 38
25.02.2013, 18:56  [ТС]
Цитата Сообщение от SoftIce Посмотреть сообщение
KochI, Вам Ворд нужен только для того, чтобы выгрузить туда несколько фамилий, отправить на печать, и закрыть без сохранения?
Спасибо. Ну это лишь часть программы, не совсем в этом суть. Еще раз спасибо )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.02.2013, 18:56
Помогаю со студенческими работами здесь

Запуск макроса excel макросом из word
Помогите, пожалуйста. Необходимо запустить макрос в excel при помощи макроса в word, не знаю, как это сделать.

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

Автоматический запуск макроса при старте Word-а
Может ли макрос запускаться автоматически, при открытии документа. И еще, никто не знает, где можно достать список обьектов и методов и...

Конструктор ленты для Microsoft Word 2010: запуск макроса
Здравствуйте! Создаю ленту для word 10, как присвоить значку запуск макроса в VBA Word? Спасибо!

Запуск макроса из макроса ИЛИ повторение одного и того же кода
Excel Есть код в 10 строк (назовем его "блок"), который повторяется 5 раз в модуле (макросе). При любых изменения "блока"...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru