PDA

Vollständige Version anzeigen : Makro: Word-Datei speichern und schließen


Hensel
03.07.2006, 15:27
Hallihallo,

ich habe folgende Frage:

Ich habe in Excel 2002 ein Makro angelegt, in dem eine Word-Datei geöffnet werden soll und zwar wie folgt:

CreateObject("word.application").documents.Open(ThisWorkbook.Path & "\test_01.doc").Application.Visible = True

Jetzt soll im Anschluss diese Word-Datei gespeichert und geschlossen werden. Wie muss ich das Makro ergänzen, damit dies erfolgt?

Sandra

jinx
03.07.2006, 17:05
<font size="2" face="Century Gothic">Moin, Sandra,

wenn denn der Code-Schnipsel einem Objekt übergeben wird, kann diese hinter mit DocumentSave und Close sowie Quit und Aufheben der Referenz - siehe dazu ansatzweise Word mit leerem Dokument und Druckdialog aufrufen (http://www.herber.de/mailing/221704h.htm)...</font>

Hensel
04.07.2006, 07:50
Hallöchen,

vielen Dank für die Antwort.

Da ich aber kein Makro-Spezialist bin, kann ich diesen Hinweis leider nicht weiter umsetzen.

Ich habe eine Schaltfläche in einer Excel-Datei angelegt und beim Anklicken dieser Schaltfläche soll eben die o.g. Funktion ausgeführt werden. Somit sieht das Makro bisher wie folgt aus (Öffnen der Word-Datei):

Private Sub CommandButton1_Click()

CreateObject("word.application").documents.Open(ThisWorkbook.Path & "\test_01.doc").Application.Visible = True

End Sub

Das Öffnen der Word funktioniert auch soweit.

Zu diesem Thema habe ich noch folgendes gefunden:

Frage: ich möchte aus Excel-VBA heraus ein Word-Dokument öffnen und verändern - und danach Speichern und schließen. Wie ich das Dot öffne und ändere weiß ich - aber wie speichere und schließe ich das dot ? (Das dot braucht nicht auf dem Bildschirm angezeigt werden)

Antwort: meinst Du so?
Set wdAnw = CreateObject("Word.Application")
wdAnw.Application.DisplayAlerts = False
wdanw.ActiveDocument.Save
wdAnd.Application.DisplayAlerts = True

Kann das vielleicht weiterhelfen?

Wie muss das Makro insgesamt aussehen, damit es funktioniert?

Für weitere Hilfe wäre ich sehr dankbar.

Sandra

Hensel
04.07.2006, 18:24
Hallihallo,

das Makro ist mittlerweile etwas weiter fortgeschritten, aber auf dem Befehl zum Speichern kommt die Fehlermeldung "Objekt unterstützt diese Eigenschaft oder Methode nicht".

Das Makro schaut wie folgt aus:

Private Sub CommandButton1_Click()

CreateObject("word.application").documents.Open(ThisWorkbook.Path & "\test_01.doc").Application.Visible = True

test = MsgBox("gleich wird gespeichert", 64) 'Kontrollfrage wegen Makroablauf
Debug.Print test

CreateObject("word.application").activedocument.Save

test1 = MsgBox("gleich wird geschlossen", 64)
Debug.Print test1

CreateObject("word.application").activedocument.Close

End Sub

Wer kann nun weiterhelfen?

Sandra

jinx
04.07.2006, 18:53
<font size="2" face="Century Gothic">Moin, sandra,

wenn Du eine Instanz von Word hast, ist es ziemlich überflüssig, eine neue zu schaffen, um ein Dokument der ersten Instanz zu speichern. Und drängen lasse ich mich in meiner schon viel zu spartanisch ausfallenden Frezeit schon gar nicht.</font>

Scheerbaum
04.07.2006, 21:01
Guten Abend Sandra,
bei mir funktioniert das Öffnen und Schließen schon mal damit:


Private Sub CommandButton1_Click()
Set wordbrief = CreateObject("word.application")

wordbrief.documents.Open(ThisWorkbook.Path & "\test_01.doc").Application.Visible = True
wordbrief.Application.Quit (wdSaveChanges)

End Sub


Nur das Speichern klappt nicht, ich denke mal wegen der fehlenden Änderungen um eine Speicherung zu veranlassen. Morgen dazu vielleicht mehr.

Scheerbaum