Office: offene Word-Dokumente per VBA ermitteln?

Helfe beim Thema offene Word-Dokumente per VBA ermitteln? in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallöle allerseits, ich suche eine Möglichkeit per Excel-VBA die derzeitliche Anzahl geöffneter Word-Dkumente zu ermitteln und den jeweiligen... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von ET-Student, 13. September 2006.

  1. offene Word-Dokumente per VBA ermitteln?


    Hallöle allerseits,

    ich suche eine Möglichkeit per Excel-VBA die derzeitliche Anzahl geöffneter Word-Dkumente zu ermitteln und den jeweiligen Dokumentnamen zu übergeben.

    Kann mir da jemand bitte helfen?

    Danke im vorraus
    Steffen

    :)
     
    ET-Student, 13. September 2006
    #1
  2. Moin, Steffen,

    geht wie in Excel auch über die Anwendung (Application), nur das es wohl in Word weniger Workbooks.Count heißen dürfte, sondern eher etwas mit Documents zu tun haben dürfte...
     
  3. ja dachte ich auch aber:

    a = Application.Documents.Count

    geht nicht
    kommt Laufzeitfehler: 438
     
    ET-Student, 15. September 2006
    #3
  4. offene Word-Dokumente per VBA ermitteln?

    Moin, Steffen,

    Verweis auf Word in der VBE setzen (also Early Binding nutzen), dann folgenden Code für die erste Word-Instanz:

    Code:
     
  5. na probiere mal bitte folgendes:

    öffne ein Worddokument,
    habe ich unten in der Taskleiste stehen: Dokument1- Microsoft Word

    wenn ich dann

    Code:
    ausführe sagt der mir leider in der MSG-Box:0

    Hää? bin ich zu doof?
     
    ET-Student, 15. September 2006
    #5
  6. Moin, Steffen,,

    was meinst Du eigentlich, was ich vor dem Posten des Codes hier im Forum gemacht habe - Däumchen gedreht? Sieh bitte in der Systemsteuerung nach, wie viele "Phantom"-Instanzen von Word Du noch geöffnet hast (Strg+Alt+Entf bei XP). Ich sprach auch von der ersten Instanz, nicht von einer x-beliebigen... *wink.gif*
     
  7. ahh ich bin unwürdig *niederknie* *knuddel
    ja, alle Phantomanwendungen geschlossen und schon gehts, genial
    *hands

    so habe den Rest nun auch rausgefunden und kann nun schauen ob die Dokumente die ich bearbeiten möchte bereits schon geöffnet sind, vieleicht hilft es wem:
    Code:
    Wie kann ich das Problem mit den Phantomwords nun erkennen? Oder wie entsteht den sowas, nun bin ich aber neugierig
     
    ET-Student, 15. September 2006
    #7
  8. offene Word-Dokumente per VBA ermitteln?

    Moin, ET-Student,

    wenn eine Anwendung wie Word über VBA gestartet wird, ist sie zuerst einmal unsichtbar. Wenn nun das Makro beendet wird, verbleibt die Anwendung selbst im Speicher - solange, bis der Befehl zum Entfernen gegeben wird (der aber nicht kommen wird, weil das Makro ja beendet wurde). Daher sollte am Ende des Makros immer "aufgeräumt" werden und alle Verbindungen gekappt werden (Set apWord = Nothing).

    Sowohl das Aufrufen einer anderen Anwendung alks auch die Beendigung sollten mit je einer Fehlerbehandlung gekoppelt werden, um eventuell auftretende Probleme im Vorfelde ausschalten zu können.

    Zum Erkennen aller laufenden Prozesse müsste ich auf API verweisen, um alle Prozesse de Taskplaners auszulesen - mir ist zur Zeit kein Beispielcode bekannt, den ich anführen könnte...
     
  9. ahh wieder was gelernt, ich werde das Programm daraufhin mal genauer durchforsten und dann die entsprechenden Zeilen einfügen

    habe gleich noch eine Frage aber die stelle ich neu, macht das zukünftige Suchen per googel einfacher

    habe großen Dank
     
    ET-Student, 15. September 2006
    #9
  10. Hallo Jinx,

    du warst im August letzten Jahres so nett und hattest Steffen mit einer deiner stets sehr guten Lösungen zum Ziel bebracht.
    Derzeit nutze bzw. versuche ich deinen Quellcode in ähnlicher Form
    zu nutzen:


    ...
    Dim apWord As Word.Application
    Dim Name As String
    Dim Anzahl As Integer
    On Error Resume Next

    Set apWord = GetObject(, "Word.Application")
    If Err = 0 Then
    Anzahl = apWord.Documents.Count
    End If
    vorhanden = False
    For i = 1 To Anzahl
    Name = apWord.Documents(i).Name
    If Anzahl > 0 And Name = Probe.doc Then
    vorhanden = True
    End If
    Next i
    ...

    Leider bringt mir EXCEL beim debuggen die Meldung:

    Benutzerdefinierter Typ nicht definiert (siehe oben, rote Schrift).
    Könntest du dir vorstellen, was ich an der Deklaration noch aktualisieren muss ?
    Funktioniert der Verweis auf Word in der VBE eventuell nicht ?

    Ein Gruß und ein Merci für deine Recherche u. Vorschläge vorab,
    trotz 31°C .



    JuMathias
     
    JuMathias, 26. Mai 2007
    #10
  11. Hallo Jinx,

    ich habe deine Zeile
    Dim apWord As Word.Application
    mit der Zeile
    Dim WordObj As Object
    ersetzt.
    (Die weiteren Variablen dann natürlich auch noch abgeändert)

    Warum es jetzt funktioniert ? Das kann nur ein EXCEL-Experte sagen.
    Ich kann es nicht !

    Gruß

    JuMathias
     
    JuMathias, 26. Mai 2007
    #11
  12. FW
    FW
    ... im ersten Fall führst Du ein Early-Binding durch, hierfür muss der Verweis auf Word gesetzt sein, was er bei Dir nicht ist (s. #4)!
    Im zweiten Fall führst Du ein Late-Binding durch, hierfür benötigst Du keine Verweise, da die benutzten Eigenschaften und Methoden erst zur Laufzeit validiert werden...
     
  13. offene Word-Dokumente per VBA ermitteln?

    Hallo FW,
    auch dir schon einmal ein Dankeschön für deine Informationen
    (zum Binding) bei diesem Sommerwetter !


    Ich werde in den nächsten 30 Minúten noch einmal einige Zeilen schreiben.

    Gruß

    JuMathias
     
    JuMathias, 26. Mai 2007
    #13
  14. Hallo FW,
    Ich kann zwar im Moment nicht erkennen, warum bei #10 der Verweis nicht gesetzt sein soll.




    Da wäre aber das größere Übel:

    Meine aktuellen Probleme (1) und (2) :
    Von "EXCEL" aus werden die Word-Dokumente nicht aktiviert und die gewünschte Aktion unterbleibt ebenfalls.

    (1) Wenn nicht "WordObj.Documents(i_DateiLfde).Activate" funktioniert,
    was muss ich dann nutzen ? "*.Select" funktioniert auch leider nicht.

    (2) WordObj.Documents(i_DateiLfde).WindowState = xlMinimized
    will auch nicht so richtig, was die Fensterminimierung anbetrifft.
    OK, das geht deshalb nicht, da
    WordObj.Documents(i_DateiLfde).WindowState = xlMaximized
    unkorrekt interpretiert wird.

    Der Quellcode nun aber 'mal ganz:


    Dim WordObj As Object
    Dim i_DateiLfde As Integer
    Dim i_DateienAnzahl As Integer
    Dim s_DateiBez As String


    Set WordObj = GetObject(, "Word.Application")
    If Err = 0 Then
    i_DateienAnzahl = WordObj.Documents.Count
    End If

    If i_DateienAnzahl 0 Then

    For i_DateiLfde = 1 To i_DateienAnzahl
    s_DateiBez = WordObj.Documents(i_DateiLfde).Name
    MsgBox s_DateiBez


    'Die Datei erhält nicht den Fokus ! :0(
    WordObj.Documents(i_DateiLfde).Activate

    'Erster Versuch, die Word-Datei zu minimieren,
    'falls sie maximiert ist (geht aber leider nicht):
    If WordObj.Documents(i_DateiLfde).WindowState = xlMaximized Then
    WordObj.Documents(i_DateiLfde).WindowState = xlMinimized
    End If


    'Minimiert nur die Steuerdatei (XLS-Datei), wird noch gelöscht
    'If ActiveWindow.WindowState = xlMaximized Then
    ' ActiveWindow.WindowState = xlMinimized
    'End If
    Next i_DateiLfde

    End If



    (Leider har das Einrücken des Quelltexts auch nicht funktioniert)

    Hat da jemand einen Vorschlag ? Das wäre sehr nett.
    ... würde für richtige Zeilen auch "etwas" überweisen !

    Gruß

    JuMathias



    Ich werde erst morgen bzw Montag hier schauen und sage vorab schon einmal Dankeschön !!!
     
    JuMathias, 26. Mai 2007
    #14
  15. FW
    FW
    ... füge hinter dem Kommentar
    'Die Datei erhält nicht den Fokus ! :0(
    mal folgende Zeile ein:
    Application.Windows(i_DateiLfde).Activate
    ...
     
Thema:

offene Word-Dokumente per VBA ermitteln?

Die Seite wird geladen...
  1. offene Word-Dokumente per VBA ermitteln? - Similar Threads - offene Word Dokumente

  2. Etwas aus meiner Praxis

    in Microsoft Access Hilfe
    Etwas aus meiner Praxis: Ich habe altersbedingt meine berufliche Karriere beendet. Ich glaube, dass einige meiner Access-Spielchen einen bestimmten didaktischen Wert und Nutzen haben können. Alle Datenbanken sind offen...
  3. Alle offenen Word instanzen schließen

    in Microsoft Excel Hilfe
    Alle offenen Word instanzen schließen: Hallo zusammen, steh mal wieder auf dem Schlauch und brauch eurer Unterstützung Also Ich erzeuge aus Excel heraus Briefe (Word), druck diese und speichere diese als PDF das klappt soweit Ich...
  4. offenes Word-Dokument schließen

    in Microsoft Excel Hilfe
    offenes Word-Dokument schließen: Hallo, ich Teste grad wie man per Excel-VBA eine Word-Datei öffnet inkl. des Deaktivierens vom Schreibschutz. Öffnen u. Schreibschutz deaktivieren funktioniert schon mal super. Aber Schließen...
  5. Aus Excel prüfen ob Word Dokument offen

    in Microsoft Excel Hilfe
    Aus Excel prüfen ob Word Dokument offen: Hallo, ich möchte aus EXCEL heraus prüfen, ob ein ganz bestimmtes Word Dokument bereits geöffnet ist. Code: Function IsDocumentOpen(ByVal DocName As String) As Boolean Dim doc As Word.Document...
  6. offene Datenbank speichern

    in Microsoft Access Hilfe
    offene Datenbank speichern: Hallo, ich habe eine Datenbank, die möchte ich gern hier unter User = "Dokumente" speichern: anschließen bestätigen: MsgBox "Datenbank wurde hier gespeichert > " & Environ$("USERPROFILE") &...
  7. Office 2ooo / 2o1o / 2013 auf einem Rechner, geht das (Zumindest für Word-Benutzung)

    in Microsoft Word Hilfe
    Office 2ooo / 2o1o / 2013 auf einem Rechner, geht das (Zumindest für Word-Benutzung): Guten Tag, ich habe gleich mehrere Probleme: (wir reden hier natürlich nur über lizenzierte Software!) Erstens: Durch den Händler wurde auf meinem Rechner Windows7 und Office2013...
  8. Excel/Word - Automatisches Öffenen von Dateien

    in Microsoft Word Hilfe
    Excel/Word - Automatisches Öffenen von Dateien: Hallo. Ich benutze Office 2003. OS W2k. Beim Öffnen von Emailanhängen oder auch lcl. gespeicherten Daten macht Word bzw. Excel (aber nur diese beiden) folgende Probleme: Die beiden Programme...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden