Jak wywołać makro przy otworzeniu dokumentu?

0

witam robię MsgBox wciskam alt+f11 wprowadzam kod i naciskam start i kod działa zapisuje i otwieram worda i komunikat nie wyskakuje automatycznie

Private Sub Workbook_Open()
MsgBox "Proszę o uzgodnienie zamówienia"
End Sub

0

alt+f11 wprowadziłem taki kod ale otwiera mi komunikat przy otwarciu wszystkich dokumentów word a mi chodzi żeby otwierało tylko przy jednym
Sub AutoOpen()
'
' Hello Macro
' Macro recorded 08/26/2009 by Tom Lavedas
'
MsgBox "This document is meant only for you."
End Sub

0

W Wordzie nie ma Workbook_Open, bo pracujemy na dokumentach, a nie workbookach (workbook jest w excelu). Podepnij sie pod Document_Open.
http://word.mvps.org/faqs/macrosvba/documentevents.htm

0

kurde nie wiem jak to ogarnąć

0

W Wordzie masz zdarzenia globalne (np. AutoOpen) albo działające tylko w dokumencie danego typu. Typ dokumentu to w tym kontekście bycie opartym o dany szablon. Szablon to plik dot/dotm, a dokument to doc/docx.

Otwórz sobie w Wordzie alt + f11 i dodaj swój kod w szablonie dokumentu (NIE NORMAL). Następnie zapisz jako szablon dot. To twój plik z makrami.

Teraz prawym na plik dot i kliknij Nowy - to stworzy dokument oparty o ten szablon. Makro odpali się, gdy będziesz go otwierał.

0

ale to tylko zadziała na moim kompie na mojej wersji worda a jak prześle plik e-mail i odpale na innym kompie to będzie dzialalo

tego nie rozumiem resztę wiem jak zrobić dodaj swój kod w szablonie dokumentu (NIE NORMAL)

0

Sorry, niechcący wprowadziłam cię nieco w błąd. To znaczy to oczywiście można zrobić oparte o szablony, ale faktycznie powinno też zadziałać bez tych kombinacji, to znaczy gdy umieścimy kod w pliku doc. Moja pomyłka wzięła się z tego, że zazwyczaj pracuję na rtfach, które makr nie przechowują ;)

Tak więc możesz normalnie stworzyć plik doc, w jego module ThisDocument dodać kod:

Sub Document_Open()
    MsgBox "test"
End Sub

a każde otwarcie tego dokumentu powinno skutkować MessageBoxem.

A wcześniej chodziło mi o to drzewko:
user image

Dok1 i Dokument1 to są moje przykładowe dokumenty, a Normal to szablon globalny Worda. Jak dodasz kod w Normal, to będzie on tylko na twoim komputerze. Musisz uważać, by tutaj dodać kod dokładnie w tym dokumencie, o który ci chodzi ;)

0

makro sie dodało ale nie odpala sie automatycznie po wejsciu do worda

makro dalej działa dla całego worda a ja chce dla konkretnego pliku

0

No to widocznie dodałeś je w normal.dot. Sory, zgodnie z dokumentacją Document_Open działa dla dokumentów danego typu, przy otworzeniu dokumentu (nie worda, dokumentu). Wczoraj to testowałam i działało.

Wrzuć może ten dokument jako załącznik?

0

załąćznik

0

jak zrobić żeby ten komunikat był w ładnej formie np żeby można było dodać własną ikone i zmienić kolor komunikatu

0

Otworzyłam twój dokument, a w środku pusto:
user image
Umieść tu kod, to zadziała.

jak zrobić żeby ten komunikat był w ładnej formie np żeby można było dodać własną ikone i zmienić kolor komunikatu

Tu masz dostępne opcje: https://msdn.microsoft.com/en-us/library/aa445082(v=vs.60).aspx
Jak chcesz więcej, to musisz zrobić własne okienko.

1

dzięki aurel twoje wskazówki pomogły rozwiązać temat

1 użytkowników online, w tym zalogowanych: 0, gości: 1