Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос на активацию документа. / 25 сообщений из 27, страница 1 из 2
25.12.2010, 13:15
    #37035154
RedCrazyMonkey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Добрый день.

Возник вопрос - как повесить какой-то макрос на активацию документа Word?
В смысле, что бы при каждой активации окна с документом ворд, запускался макрос... Такое вообще реально сделать?
Заранее благодарю за помощь)
...
Рейтинг: 0 / 0
25.12.2010, 16:25
    #37035291
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
RedCrazyMonkey,

попробуйте событие со странным названием DocumentChange
там что-то есть про активацию
...
Рейтинг: 0 / 0
25.12.2010, 18:06
    #37035359
RedCrazyMonkey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Shocker.Pro,
Попыталась использовать DocumentChange... Не ругается, но реакции вообще никакой((

Написала в модуле класса:
Код: plaintext
1.
2.
Option Explicit
Public WithEvents appWord As Word.Application

И сам макрос:
Код: plaintext
1.
2.
3.
Sub appWord_DocumentChange()
 Selection.TypeText Text:="Complite"
 Selection.TypeParagraph
End Sub
...
Рейтинг: 0 / 0
25.12.2010, 18:10
    #37035361
RedCrazyMonkey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Засовывание этого же макроса в класс тоже не помогает...
...
Рейтинг: 0 / 0
25.12.2010, 19:47
    #37035428
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
RedCrazyMonkey,
Автоматическое выполнение VBA-программ в Word с помощью назначения программам специальных имён:
'AutoExec - при запуске Word или загрузке глобального шаблона
'AutoNew - при создании нового документа
'AutoOpen - при открытии существующего документа
'AutoClose - при закрытии документа
'AutoExit - при закрытии Word или выгрузке глобального шаблона
'Document_Open - при запуске документа Word
...
Рейтинг: 0 / 0
25.12.2010, 21:22
    #37035499
RedCrazyMonkey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Ципихович Эндрю,
Спасибо, но я это всё уже видела. К сожалению, это не подходит(((
...
Рейтинг: 0 / 0
25.12.2010, 21:39
    #37035511
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
RedCrazyMonkey,вот эту часть "что бы при каждой активации окна с документом ворд" разъясните
поподробнее
...
Рейтинг: 0 / 0
25.12.2010, 22:14
    #37035536
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Ципихович Эндрю - исчезни.


RedCrazyMonkeyShocker.Pro,
Попыталась использовать DocumentChange... Не ругается, но реакции вообще никакой((

Написала в модуле класса:
Код: plaintext
1.
2.
Option Explicit
Public WithEvents appWord As Word.Application

И сам макрос:
Код: plaintext
1.
2.
3.
Sub appWord_DocumentChange()
 Selection.TypeText Text:="Complite"
 Selection.TypeParagraph
End Sub


А инициализацию переменной сделали?
Код: plaintext
Set appWord=Application
...
Рейтинг: 0 / 0
25.12.2010, 22:21
    #37035539
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
И еще надо проверять активный документ. Вот рабочий проверенный вариант, сорри, что не написал с утра - в дороге был.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit
Public WithEvents appWord As Word.Application

Private Sub Document_Open()

Set appWord = Application

End Sub
Private Sub appWord_DocumentChange()

If ActiveDocument Is ThisDocument Then
  MsgBox "Меня активировали"
End If

End Sub
...
Рейтинг: 0 / 0
25.12.2010, 22:35
    #37035553
RedCrazyMonkey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Shocker.ProИ еще надо проверять активный документ. Вот рабочий проверенный вариант, сорри, что не написал с утра - в дороге был.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit
Public WithEvents appWord As Word.Application

Private Sub Document_Open()

Set appWord = Application

End Sub
Private Sub appWord_DocumentChange()

If ActiveDocument Is ThisDocument Then
  MsgBox "Меня активировали"
End If

End Sub


Вроде бы принцип поняла, но почему то не получается. Положила всё в класс, ноль реакции, положила в модули, ругается на DocumentChange >_<
...
Рейтинг: 0 / 0
25.12.2010, 23:13
    #37035573
ZVI
ZVI
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Так как не понятно, где Вы планируете размещать свой код - в шаблоне, надстройке или в документе, то вот один из вариантов:
1. Загрузить Word
2. Нажать Alt-F11
3. В модуль Normal > Microsoft Word Object > ThisDocument
Записать следующий код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
' Copy this code into: Normal -> Microsoft Word Object -> ThisDocument
Private Sub Document_New()
  MsgBox "New document:" & vbLf & ActiveDocument.Name
End Sub

Private Sub Document_Open()
  MsgBox "Open document:" & vbLf & ActiveDocument.Name
End Sub
...
Рейтинг: 0 / 0
25.12.2010, 23:47
    #37035595
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
RedCrazyMonkeyВроде бы принцип поняла, но почему то не получается.
надеюсь, так будет понятнее
...
Рейтинг: 0 / 0
25.12.2010, 23:54
    #37035601
RedCrazyMonkey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Shocker.Pro,
Огромное спасибо! Всё заработало))
...
Рейтинг: 0 / 0
25.12.2010, 23:57
    #37035607
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
...
Рейтинг: 0 / 0
26.12.2010, 08:58
    #37035711
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Shocker.ProRedCrazyMonkeyВроде бы принцип поняла, но почему то не получается.
надеюсь, так будет понятнее

КаАчнул я Ваш файл, в нём код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Option Explicit
Public WithEvents appWord As Word.Application

Private Sub Document_Open()

Set appWord = Application

End Sub
Private Sub appWord_DocumentChange()

If ActiveDocument Is ThisDocument Then
  MsgBox "Меня активировали"
End If

End Sub 
И что надо сделать, чтобы добиться сообщения: Меня активировали
Заранее спасибо!
...
Рейтинг: 0 / 0
26.12.2010, 09:51
    #37035720
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Ципихович ЭндрюИ что надо сделать, чтобы добиться сообщения: Меня активировали
Заранее спасибо!Почитать хелп по вышеуказанному событию
...
Рейтинг: 0 / 0
26.12.2010, 13:27
    #37035813
RedCrazyMonkey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Непонятно только, почему вот так работает всё:

Код: plaintext
1.
2.
3.
4.
5.
6.
Private Sub appWord_DocumentChange()

If ActiveDocument Is ThisDocument Then
  MsgBox "Меня активировали"
End If

End Sub 

а например так, никакой реакции:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Private Sub appWord_DocumentChange()

If ActiveDocument Is ThisDocument Then
  Selection.Paste
  Selection.TypeParagraph
End If

End Sub 
...
Рейтинг: 0 / 0
26.12.2010, 14:39
    #37035879
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
RedCrazyMonkey,
Selection.Paste, вставить выделенное, выбранное, а что выбрано?
Selection.TypeParagraph так он же и стоит, разве не так??
если ещё одну строку Selection.TypeParagraph, тогда разницу увидите
...
Рейтинг: 0 / 0
26.12.2010, 14:40
    #37035880
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Shocker.ProЦипихович ЭндрюИ что надо сделать, чтобы добиться сообщения: Меня активировали
Заранее спасибо!Почитать хелп по вышеуказанному событию
по событию DocumentChange??
Ну так я изменяю документ, ничего не происходит
...
Рейтинг: 0 / 0
26.12.2010, 14:41
    #37035882
RedCrazyMonkey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Ципихович Эндрю,
Selection.Paste - вставляет то, что находится в буфере обмена, на сколько я понимаю. Во всяком случае, в других макросах всё прекрасно вставлялось.
...
Рейтинг: 0 / 0
26.12.2010, 14:59
    #37035889
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
RedCrazyMonkey, так вручную проверьте есть там что-то или нет
...
Рейтинг: 0 / 0
26.12.2010, 15:24
    #37035911
RedCrazyMonkey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Удивительно, но всё заработало почему-то... Ничего с ним не делала) Видимо сегодня у него более хорошее настроение)
Всем спасибо за помощь)
...
Рейтинг: 0 / 0
26.12.2010, 15:50
    #37035926
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
RedCrazyMonkey, у меня то вопрос открыт
И что надо сделать, чтобы добиться сообщения: Меня активировали
Заранее спасибо!
...
Рейтинг: 0 / 0
26.12.2010, 16:32
    #37035955
RedCrazyMonkey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
Ципихович Эндрю,

Попробуйте переключаться между документами, у меня так заработало. А вообще, это методом тыка понимается.
...
Рейтинг: 0 / 0
26.12.2010, 18:44
    #37036069
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Макрос на активацию документа.
RedCrazyMonkey,
Качнул я файл Шокер про, по задумке при его открытии должно быть сообщение Меня активировали, это не просходит, или я не правильно поняо, а Вы мне советуете
Попробуйте переключаться между документами, у меня так заработало
Так что надо сделать, чтобы добиться сообщения: Меня активировали
Заранее спасибо
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Макрос на активацию документа. / 25 сообщений из 27, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]