Über Excelmakro Userform einer Wordvorlage ansteuern

r_Alf

Mitglied
Hallo,

Mithilfe eines Makros in Excel öffne ich eine Wordvorlage mit einer Userform, bei der ich z.B. Caption ändern will. Direkt unter Word kann ich dies in VBA ja ganz einfach mit einer Zuweisung an Userform1.Caption erreichen, doch aus Excel herraus will ich einfach nichts finden.

Code:
Dim wrdApp As Word.Application
Dim wrdDoc As Word.document

Sub test()
    Set wrdApp = CreateObject("word.Application")
    wrdApp.documents.Open "D:\testdoc.doc"
    wrdApp.Visible = True

    wrdApp.ActiveWindow.Caption = "1234test1"  
    'Hier diverse weitere Aktionen bzgl. wrdDoc
    
'Hier Code für UserForm1.Caption = "testFürUserform1"

    Set wrdApp = Nothing
    Set wrdDoc = Nothing
End Sub
 
Visual Basic:
Set wrdApp = CreateObject("word.Application")
wrdApp.documents.Open "D:\testdoc.doc"

'ruft in WORD das Makro "Makro_XY" auf und übergibt ihn den Parameter "testFürUserform1"
wrdApp.Run "Makro_XY" "testFürUserform1"
'--------------------------------------------------------------------------------------------------------------
wrdApp.Visible = True

Jetzt brauchst du halt in Word das Makro das ausgeführt wird und dann von da den Parameter als Caption übernimmt.
 
Also eigentlich wollte ich in Word kein weiteres Makro ausführen, sollte das aber die einzigste Möglichkeit sein sicherlich eine gute Alternative, zudem ich dann auch Userform1.Show aus der Document.Open ins entsprechende Makro von Word verlagern könnte.
Danke schonmal für den anderen Denkansatz! In der Hoffnung, dass es doch noch über das Excelmakro funktionieren kann, lass ich den Eintrag noch ein Weilchen als unbeantwortet markiert. ;)
 
Es ist zumindest das einzige was ich bis jetzt finden konnte. Gehen tut es damit auf jeden Fall und das Makro ist gerade mal eine Zeile lang!

Visual Basic:
Sub FromExcel(txtWord As String)
    UserForm1.Caption = txtWord
End Sub

Was auch noch eine Möglichkeit wäre, ist in Excel eine Textdatei zu erstellen in welche der/die Parameter eingetragen und dann von Word wieder ausgelesen (und gelöscht) wird.

Da würde ich aber wohl eher das erste Beispiel nehmen.
 
Deine Variante hat mich mitlerweile auch überzeugt, kann man btw. gleich noch andere kleinere Dinge mit erledigen die zunächst änlich knifflig oder gar aufwendig erschienen :D
 

Neue Beiträge

Zurück