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

CreateObject("Word.Application")

Forumthread: CreateObject("Word.Application")

CreateObject("Word.Application")
11.05.2009 08:26:46
Horst
Hallo,
In der 6. Zeile bekomme ich dir Meldung: "die Datei ist gesperrt von Horst Danker"(bin ich). Auswahlen wie Kopie öffnen bzw. benachrichtigen... stehen zur Auswahl. Wie kann ich direkt ohne diese Meldung öffnen?

Sub CalWord()
Dim wdApp As Object
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True
With wdApp
.documents.Open "C:\Users\Danker\Documents\Apotheke\Vorlagen\Jubiläen.doc"
End With
End Sub


Vielen Dank im Voraus
Grüße
Horst

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CreateObject("Word.Application")
11.05.2009 08:44:24
Tino
Hallo,
schau mal in der Word VBA Hilfe unter Documents.Open-Methode nach.
Für Dich ist wahrscheinlich der Parameter PasswordDocument oder/und ReadOnly interessant.
Gruß Tino
AW: CreateObject("Word.Application")
11.05.2009 14:48:55
Horst
Hallo Tino,
Vielen Dank für die prompte Antwort. Leider half dein Rat nicht.
Inzwischen bin ich aber dahinter gekommen, warum mein WORD File gesperrt ist.
Ich will mit dem Wordfile einen Seriendruck durchführen und hatte schon eine entsprechende EXCEL Liste gekoppelt. Diese Kopplung verursacht die Sperre.
Wenn ich im Wordfile per Makro erst die Zuordnung der Liste vornehme nach der Öffnung des WORD Files funktioniert alles.
Alternativ, wenn ich vorher den WORD File mit einem Passwort speichere, wie lautet dann der Code für Passwort Parameter und wo ist er im Programm zu setzen?
Gruß
Horst
Anzeige
AW: CreateObject("Word.Application")
11.05.2009 15:13:08
Tino
Hallo,
meinst Du nun öffnen mit Passwort?
.documents.Open "C:\Users\Danker\Documents\Apotheke\Vorlagen\Jubiläen.doc", , , , "Passwort"
Siehe auch Word VBA Hilfe!
Gruß Tino
AW: CreateObject("Word.Application")
12.05.2009 07:03:21
Horst
Hallo,
Danke, ich komme jetzt erst einmal klar.
Gruß
Horst
;
Anzeige

Infobox / Tutorial

Automatisierung von Word mit Excel VBA: CreateObject("Word.Application")


Schritt-für-Schritt-Anleitung

Um Word über Excel VBA zu automatisieren, kannst du die CreateObject("Word.Application") Methode verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf einen der Einträge im Projektfenster und wähle Einfügen > Modul.

  3. Kopiere und füge den folgenden Code ein:

    Sub CalWord()
       Dim wdApp As Object
       Set wdApp = CreateObject("Word.Application")
       wdApp.Visible = True
       With wdApp
           .documents.Open "C:\Users\Danker\Documents\Apotheke\Vorlagen\Jubiläen.doc"
       End With
    End Sub
  4. Ändere den Pfad zur Word-Datei, um sicherzustellen, dass er zu deiner Datei passt.

  5. Führe das Makro aus: Klicke auf Ausführen oder drücke F5.

Der Code erstellt eine neue Instanz von Word und öffnet die angegebene Dokumentdatei.


Häufige Fehler und Lösungen

  • Fehler: "createobject( word.application ) not working"
    Stelle sicher, dass Microsoft Word korrekt installiert ist und die Pfade zu den Dokumenten stimmen.

  • Problem mit gesperrten Dateien:
    Wenn die Datei gesperrt ist, überprüfe, ob sie bereits in einer anderen Instanz von Word geöffnet ist. Du kannst den Parameter ReadOnly verwenden, um die Datei schreibgeschützt zu öffnen:

    .documents.Open "C:\Users\Danker\Documents\Apotheke\Vorlagen\Jubiläen.doc", ReadOnly:=True

Alternative Methoden

Es gibt auch andere Möglichkeiten, mit Word-Dokumenten in VBA zu arbeiten:

  • VBA GetObject: Wenn Word bereits geöffnet ist, kannst du GetObject verwenden:

    Dim wdApp As Object
    On Error Resume Next
    Set wdApp = GetObject(, "Word.Application")
    If wdApp Is Nothing Then
       Set wdApp = CreateObject("Word.Application")
    End If

Diese Methode vermeidet die Erstellung einer neuen Instanz von Word, falls bereits eine geöffnet ist.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du CreateObject("Word.Application") verwenden kannst:

  1. Mit Passwort geschützte Dokumente öffnen:

    .documents.Open "C:\Users\Danker\Documents\Apotheke\Vorlagen\Jubiläen.doc", , , , "DeinPasswort"
  2. Seriendruck durchführen:
    Wenn du mit Excel-Daten arbeitest, stelle sicher, dass du die Datenquelle in Word korrekt einstellst, um die gesperrte Datei zu vermeiden.


Tipps für Profis

  • Fehlerbehandlung: Nutze On Error GoTo, um Fehler zu verwalten und die Anwendung robuster zu gestalten.

  • Objekte freigeben: Vergiss nicht, die Word-Anwendung zu schließen und den Speicher freizugeben, um Speicherlecks zu vermeiden:

    wdApp.Quit
    Set wdApp = Nothing
  • Erweiterte Funktionen: Nutze die Word VBA-Hilfe, um mehr über die Documents.Open-Methode und weitere Funktionen zu erfahren.


FAQ: Häufige Fragen

1. Wie setze ich den ReadOnly-Parameter beim Öffnen eines Word-Dokuments?
Du kannst den Parameter beim Öffnen so setzen:

.documents.Open "C:\Pfad\Zur\Datei.doc", ReadOnly:=True

2. Wie kann ich ein Passwort für ein Word-Dokument in VBA verwenden?
Nutze den folgenden Code, um ein Passwort zu setzen:

.documents.Open "C:\Pfad\Zur\Datei.doc", , , , "DeinPasswort"

Mit diesen Anleitungen, Tipps und Lösungen bist du bestens gerüstet, um CreateObject("Word.Application") effektiv in deinen Excel VBA-Projekten zu nutzen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige