Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Word öffnen per VBA

Word öffnen per VBA
02.05.2002 18:09:42
Stefan F.
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

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Word öffnen per VBA
02.05.2002 18:11:13
Hajo
Hallo Stefan

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

Gruß Hajo

Re: Word öffnen per VBA
03.05.2002 08:47:47
Stefan F.
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

Anzeige
Problem noch offen
03.05.2002 08:50:22
Hajo
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

Re: Problem noch offen
03.05.2002 08:57:22
Stefan F.
Vielen Dank und ich wünsche Dir ein angenehmes Wochenende!

Ich probiere auch mal weiter und sonst bis Montag!

Gruss

Stefan

Re: Problem noch offen
03.05.2002 11:04:09
Stefan F.
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

Anzeige
Re: Word öffnen per VBA
03.05.2002 16:15:07
Rolf, Lgh.
Hallo Stefan,
Auszug aus: http://mypage.bluewin.ch/reprobst/WordFAQ/OA.htm#OA6:

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

Anzeige
Re: Word öffnen per VBA
03.05.2002 16:23:39
Stefan F.
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

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Word-Dokumente per VBA öffnen


Schritt-für-Schritt-Anleitung

Um ein Word-Dokument per VBA zu öffnen, benötigst du einen einfachen Code. Hier ist eine Schritt-für-Schritt-Anleitung, die dir zeigt, wie du dies in Excel umsetzen kannst:

  1. VBA-Umgebung öffnen: Drücke ALT + F11, um die VBA-Umgebung in Excel zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf „VBAProject (deine Datei)“ und wähle „Einfügen“ > „Modul“.

  3. Code einfügen: Füge folgenden Code in das Modul ein:

    Sub WordDateiÖffnen()
       Dim WordApp As Object
       Dim WordDoc As Object
    
       ' Word-Anwendung erstellen
       Set WordApp = CreateObject("Word.Application")
    
       ' Word-Dokument öffnen
       Set WordDoc = WordApp.Documents.Open("C:\Test.doc")
    
       ' Word sichtbar machen
       WordApp.Visible = True
    End Sub
  4. Anpassen der Datei: Stelle sicher, dass der Pfad zur Word-Datei korrekt ist.

  5. Makro ausführen: Schließe die VBA-Umgebung und führe das Makro über Entwicklertools > Makros aus.


Häufige Fehler und Lösungen

Hier sind einige häufige Fehler, die beim Öffnen von Word-Dokumenten per VBA auftreten können, und wie du sie beheben kannst:

  • Automatisierungsfehler - Unzulässige Funktion: Dieser Fehler kann auftreten, wenn der Pfad zur Datei nicht korrekt ist oder Word nicht installiert ist. Überprüfe den Dateipfad und stelle sicher, dass Word auf deinem Computer installiert ist.

  • Word öffnet sich mehrmals: Wenn du das Makro mehrmals ausführst, könnte es sein, dass Word immer wieder neu geöffnet wird. Um dies zu vermeiden, kannst du den Code anpassen, um zuerst zu prüfen, ob Word bereits läuft:

    On Error Resume Next
    Set WordApp = GetObject(, "Word.Application")
    If WordApp Is Nothing Then
       Set WordApp = CreateObject("Word.Application")
    End If
    On Error GoTo 0

Alternative Methoden

Es gibt verschiedene Möglichkeiten, ein Word-Dokument zu öffnen, abhängig von deinem Bedarf:

  1. Direkt in Word: Du kannst auch direkt in Word ein Makro erstellen, um eine Excel-Datei zu öffnen. Das geht mit VBA in Word öffnen und ähnlichen Ansätzen.

  2. Dot-Dateien öffnen: Wenn du eine Dot-Datei (Vorlage) öffnen möchtest, kannst du den Code leicht anpassen:

    Set WordDoc = WordApp.Documents.Open("C:\Template.dot")

Praktische Beispiele

Hier sind einige praktische Beispiele, die dir helfen, die Funktionsweise besser zu verstehen:

  • Mehrere Dokumente gleichzeitig öffnen:

    Sub MehrereWordDokumenteÖffnen()
       Dim WordApp As Object
       Set WordApp = CreateObject("Word.Application")
       WordApp.Visible = True
    
       WordApp.Documents.Open "C:\Dokument1.doc"
       WordApp.Documents.Open "C:\Dokument2.doc"
    End Sub
  • Inhalt aus Excel kopieren und in Word einfügen:

    Sub ExcelInhaltNachWordKopieren()
       Dim WordApp As Object
       Dim WordDoc As Object
    
       Set WordApp = CreateObject("Word.Application")
       Set WordDoc = WordApp.Documents.Open("C:\Test.doc")
    
       ' Inhalte kopieren
       ThisWorkbook.Sheets("Sheet1").Range("A1:B10").Copy
       WordDoc.Content.Paste
    
       WordApp.Visible = True
    End Sub

Tipps für Profis

  • Objektbibliotheken verwenden: Stelle sicher, dass du die Verweise auf die Microsoft Word-Bibliothek in Excel aktiviert hast. Gehe dazu in der VBA-Umgebung auf „Extras“ > „Verweise“ und aktiviere die Microsoft Word Object Library. Dadurch erhältst du Zugriff auf die Word-Objekte und deren Eigenschaften.

  • Word-Autovervollständigung nutzen: Mit aktivierten Bibliotheken profitierst du von der Autovervollständigung im VBA-Editor. Das erleichtert das Programmieren und reduziert Fehler.

  • Fehlerbehebung: Nutze On Error Resume Next, um Fehler im Code zu ignorieren, aber achte darauf, diese Fehler später zu überprüfen.


FAQ: Häufige Fragen

1. Wie kann ich ein Word-Dokument im Hintergrund öffnen?
Du kannst die Sichtbarkeit von Word steuern, indem du WordApp.Visible = False setzt, bevor du das Dokument öffnest.

2. Was mache ich, wenn die Datei nicht gefunden wird?
Überprüfe den angegebenen Pfad zur Datei und stelle sicher, dass die Datei tatsächlich vorhanden ist.

3. Kann ich die Word-Datei auch ohne Word öffnen?
Nein, du benötigst Microsoft Word, um ein Word-Dokument zu öffnen, da VBA die Word-Anwendung steuert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige