Word öffnen per VBA



Excel-Version: 97
nach unten

Betrifft: Word öffnen per VBA
von: Stefan F.
Geschrieben am: 02.05.2002 - 18:09:42

HAllo!

Sicher ist das eine leichte Übung für Euch Spezialisten, aber bei mir klappt das nicht so ganz.

Ich möchte per Makro ein "Word-Dokument" öffnen.

Einer meiner Versuche lautete:

Sub export()
Columns("A:D").Select
Selection.Copy
Workbooks.OpenFile FileName:="N:\Brief.doc"
Selection.Paste
End Sub

Aber ich bekomme eine Fehlermeldung bei "OpenFile".

Wer kann mir helfen?

Grüsse und danke!!

Stefan

nach oben   nach unten

Re: Word öffnen per VBA
von: Hajo
Geschrieben am: 02.05.2002 - 18:11:13

Hallo Stefan

198. Worddatei öffnen ohne Hyperlink
Sub WordDateiStarten()
CreateObject("word.application").documents.Open("c:\test.doc").Application.Visible = True
End Sub

Gruß Hajo

nach oben   nach unten

Re: Word öffnen per VBA
von: Stefan F.
Geschrieben am: 03.05.2002 - 08:47:47

Hallo Hajo,

vielen herzlichen Dank für Deine Antwort.

Ich habe die Zeilen nun bei mir angepasst, aber er bringt eine Fehlermeldung:"Automatisierungsfehler - Unzulässige Funktion". Angezeigt wird die zweite Zeile "Create o...." .
Kann das an der NT-Version liegen?

Danke nochmal und viele Grüsse

Stefan

nach oben   nach unten

Problem noch offen
von: Hajo
Geschrieben am: 03.05.2002 - 08:50:22

Hallo Stefan

leider muß ich jetzt fort und bin erst wieder Sonntag im Forum und das mit der NT Version kann ich erst Montag testen.

Leider

Gruß Hajo


nach oben   nach unten

Re: Problem noch offen
von: Stefan F.
Geschrieben am: 03.05.2002 - 08:57:22

Vielen Dank und ich wünsche Dir ein angenehmes Wochenende!

Ich probiere auch mal weiter und sonst bis Montag!

Gruss

Stefan


nach oben   nach unten

Re: Problem noch offen
von: Stefan F.
Geschrieben am: 03.05.2002 - 11:04:09

Hallo,
es läuft jetzt, allerdings öffnet er, wenn Word bereits offen ist, Word nochmals. Kann man das auch umschreiben, dass er dann nur die Datei öffnet?

Danke!

Gruss

Stefan


nach oben   nach unten

Re: Word öffnen per VBA
von: Rolf, Lgh.
Geschrieben am: 03.05.2002 - 16:15:07

Hallo Stefan,
Auszug aus: http://mypage.bluewin.ch/reprobst/WordFAQ/OA.htm#OA6:

Private Const Pfad = "C:\Eigene Dateien\Test.doc"

Sub WordMitBestehendemDokumentStarten1()
  Dim wdAnw As Object
  Dim wdDok As Object
  Set wdDok = GetObject(Pfad)
  Set wdAnw = wdDok.Parent
  wdAnw.Visible = True
  wdAnw.WindowState = 1 '0 = Normal; 1 = Maximized; 2 = Minimized
  wdAnw.Activate
  'wdDok.Close
  'wdAnw.Quit
  Set wdAnw = Nothing
  Set wdDok = Nothing
End Sub

Bitte beachten:

Verweise auf Objektbibliotheken setzen (hier natürlich in Excel den Verweis auf Word setzen

Sie mögen sich vielleicht gewundert haben, wieso die Code-Beispiele hier wenig aussagende absolute numerische Werte satt wie üblich Word- und Excel-Konstanten einsetzen. So wird z.B.
xlAnw.WindowState = -4137
verwendet, statt
xlAnw.WindowState = xlMaximized.

Der Grund ist folgender: Die Client-Applikation, also die aufrufende Anwendung, kennt diese Konstanten gar nicht. Somit würde ein leerer Wert an die Server-Anwendung geschickt was natürlich einen Syntaxfehler hervor rufen würde. Dieses Verhalten können Sie aber ändern und es ist auch sicher ratsam, dies zu tun. Richten Sie ganz einfach in der Client-Anwendung einen Verweis auf die Objektbibliothek der Server-Anwendung ein, welche Sie erreichen möchten. Um von Word einen Objektverweise auf die Excel-Objektbibliothek einzurichten, gehen Sie wie folg vor:

Öffnen Sie die Standardvorlage mit dem Namen Normal.dot über Datei - Öffnen.

Wechseln Sie mit der Tastenkombination [Alt + F11] in die VBA-Umgebung.

Wählen Sie dort vom Hauptmenü Extras - Verweise....

Suchen Sie in der Liste nach der Objektbibliothek mit der Bezeichnung Microsoft Excel Object Library 8.0 (Word 97) bzw. Microsoft Excel Object Library 9.0 (Word2000) und setzen Sie dort das Häkchen.

Speichern Sie die Normal.dot. Word sollte sich diese Einstellung nun für die Zukunft merken.

Vorteile von Verweisen
Wenn Sie einen Verweis auf die Objektbibliothek der Server-Anwendung einrichten handeln Sie sich Vorteile ein, welche sich sowohl während der Entwurfzeit, wie auch während der Laufzeit positiv bemerkbar machen:

Sie können Objekte nun exakt deklarieren, d.h. statt Dim xlMappe As Object steht Ihnen nun folgende Syntax zur Verfügung: Dim xlMappe As Excel.Workbook.

Alle bekannten anwendungsintegrierten Konstanten der Server-Anwendung stehen ihnen nun auch in der Client-Anwendung zur Verfügung.

Beim Entwickeln des Codes, können Sie nun vom Quick-Info-Feature und von der AutoVervollständigung des VBA-Editors profitieren, da Objekte, Eigenschaften und Methoden der Server-Anwendung nun auch in der Client-Anwendung bekannt sind.

Etwaige Fehlermeldungen, welche Sie zurück erhalten sind nun in der Regel nun aussagekräftiger.

Die Ausführung des Code gewinnt an Performanz.

Gruß Rolf

nach oben   nach unten

Re: Word öffnen per VBA
von: Stefan F.
Geschrieben am: 03.05.2002 - 16:23:39

Vielen Dank für den Link!

Ich werde die Zeilen nachher einbauen und mir die Seite etwas näher anschauen.

Schönes Wochenende!

Gruss

Stefan


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Range in Textdatei"