Die Community zu .NET und Classic VB.
Menü

VB 5/6-Tipp 0160: Worddokument in und mit Word öffnen

 von 

Beschreibung 

Word läßt sich ja bekanntermaßen in VB als Objekt einbinden. Hier wird gezeigt, wie Word von VB aus gestartet und mit einem beliebigen Dokument geladen werden kann.

Schwierigkeitsgrad:

Schwierigkeitsgrad 1

Verwendete API-Aufrufe:

keine

Download:

Download des Beispielprojektes [4,94 KB]

'Dieser Quellcode stammt von http://www.activevb.de
'und kann frei verwendet werden. Für eventuelle Schäden
'wird nicht gehaftet.

'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
'Ansonsten viel Spaß und Erfolg mit diesem Source!

'------------- Anfang Projektdatei Project1.vbp -------------
'--------- Anfang Formular "Form1" alias Form1.frm  ---------
' Steuerelement: Schaltfläche "Command1"

Option Explicit

Dim Word As Object

Private Sub Command1_Click()
  Set Word = CreateObject("Word.Application")

  Word.WindowState = 1
  Word.Visible = True
  
  'Wenn statt dem True ein False eingesetzt wird, wird das Dokument
  'nicht schreibgeschützt geöffnet
  Word.Documents.Open App.Path & "\Test.doc", , True
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  Set Word = Nothing
End Sub
'---------- Ende Formular "Form1" alias Form1.frm  ----------
'-------------- Ende Projektdatei Project1.vbp --------------

Tipp-Kompatibilität:

Windows/VB-VersionWin32sWin95Win98WinMEWinNT4Win2000WinXP
VB4
VB5
VB6

Hat dieser Tipp auf Ihrem Betriebsystem und mit Ihrer VB-Version funktioniert?

Ja, funktioniert!

Nein, funktioniert nicht bei mir!

VB-Version:

Windows-Version:

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.

Archivierte Nutzerkommentare 

Klicken Sie diesen Text an, wenn Sie die 17 archivierten Kommentare ansehen möchten.
Diese stammen noch von der Zeit, als es noch keine direkte Forenunterstützung für Fragen und Kommentare zu einzelnen Artikeln gab.
Aus Gründen der Vollständigkeit können Sie sich die ausgeblendeten Kommentare zu diesem Artikel aber gerne weiterhin ansehen.

Kommentar von Jens Remer am 14.12.2007 um 19:11

In VB 6.5 funzt das ganze nich unbedingt und kann abgekürzt werden:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Word As Object
Word = CreateObject("Word.Application")
Word.WindowState = 1
Word.Visible = True
Word.Documents.Open("\test.doc", , False)
End Sub

Ein Problem stellt sich allerdings noch,- wie realisiert man, dass Word im Vordergrund nach dem Öffnen ist und wie kann man realisieren, dass nicht mit jeder Aktion die Word Applikation gestartet wird (z.B: dann nur das Dokument in Word öffnen und Folgedokumente im selben Fenster öffnen)?.

Gruß,
Jens

Kommentar von Katrin König am 13.04.2007 um 13:09

Hallo, Hallo
Ich gestehe nicht allzu erfahren im Umgang mit Vba zu sein,
Wollte mein Dokument öffnen und leider meldet er mir Fehler 424, kein Objekt vorhanden, vielleicht kann mir ja jemand helfen

Kommentar von Peter Obier am 09.04.2007 um 23:54

Hallo, dieser Tip bringt mir leider bei einer Dokumentgröße (Dateigröße; *.doc) über ~300 kB eine Fehlermeldung
Fehler 513: "Zeichenfolge zu lang"
Ärgerlich; habe aber auch mit dem Code zu Word als Objekt nicht viel Erfarung, um die Ursache zu beseitigen.Kann mir gehofen werden=

Kommentar von Matthias Otterbach am 10.02.2006 um 10:10

Hallo, ich kann mein Word-Dokument in meiner UserForm1 zwar öffnen, dieses ist aber schreibgeschützt. Wie kann ich dies Aufheben, um mein Dokument zu drucken?
Mit freundlichen Grüßen M.Otterbach

Kommentar von thomas am 07.12.2004 um 23:29

hallo!

zitat:
Wenn statt dem True ein False eingesetzt wird, wird das Dokument nicht schreibgeschützt geöffnet

wenn man es auf false setzt wird es nicht sichtbar geoeffnet!
wie funktioniert es, dass es sichtbar und nicht schreibgeschuetzt ist?

mfg

Kommentar von Marek am 25.03.2004 um 14:28

Bei Excel macht man es so:
Excel.Workbooks.Open "C:\abc.xls"

Kommentar von NaTakk am 25.05.2003 um 10:38

Diese Hilfe ist wirklich gut. Aber Tipp 0160 hat einen Fehler. Das Word-Dokument wird immer schreibgeschütz geöffnet.

Kommentar von anarcho am 30.09.2002 um 09:08

Ist dies auch mit excel machbar ohne shellcommand?
wenn ich einfach jedes "word" in "Excel" aendert passiert bei dieser zeile der fehler 438

Excel.Documents.Open App.Path & "\Test.xls", , True

anarcho, danke im vorraus

Kommentar von Sabrina am 08.08.2002 um 14:55

Wie füge ich String saus einer Textbox an eine bestimmte Stelle im Worddokument ?

Kommentar von Jürgen am 20.06.2002 um 11:14

Lässt sich das nicht einfacher mit der "ShellExecute"-API lösen?

Kommentar von Peter am 14.05.2002 um 16:08

Ich möchte von einem VB-Formular aus an einen bestimmten String in einem doc springen, der aus einem Textfeld ausgelesen wird. Hat jemand einen Tip?

Kommentar von Andreas am 08.05.2002 um 14:34

Noch ein Tip:
Alle Formatierungen in einem Word-Dokument können auch von VB aus vorgenommen werden. Den Code dazu erhält man, wenn man das Word startet und unter Extras ein Makro aufzeichnet. Dann macht man die gewünschten Formatierungen, stopt die Aufzeichnung und nun kann man den kompletten Code aus dem Makro herauskopieren...

Kommentar von Andreas am 10.04.2002 um 11:53

Wenn ich ein Document mit Word97 öffne ist es das Dokument schreibgeschützt und ich habe kein zugriff auf mein Menü, woran kann das liegen?
OS = Win98 SE

Kommentar von Kai Jost am 16.02.2002 um 16:55

Ich möchte von VB aus auf die Einträge in einem Word-Formular zugreifen. Wie geht das?

Kommentar von Robert Kraus am 24.10.2001 um 09:33

Bei WinWord 7.0 funktioniert der Aufruf nicht. Warum?

Kommentar von Ömer Koc am 03.08.2001 um 14:36

Das öffnen es Worddokumentes ist kein Problem.
Aber wie füge ich String aus einer Textbox an eine bestimmte Stelle im Worddokument ? Ich weiß das man es mit Feldmarken, aber wie ?

Kommentar von Markus Erdmann am 18.07.2001 um 14:37

Noch ein weiterer Tip:
mit word.quit (false) lässt sich das soeben geöffnete Dokument wieder schließen. Praktisch wenn man was aus Word in ein VB Formular einlesen will. und nix per Hand klicken will. Würde dazu visible auch noch af false setzen.