Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
328to332
328to332
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

For Each Word.doc

For Each Word.doc
27.10.2003 14:17:01
Felix
Hallo zusammen,

ich habe Projekt-Dokumente, die ich immer wieder verwenden möchte. Sie liegen in einem Ordner "Projektdokumente". In diesem Ordner liegt auch eine Excel-Dokument "Kennung". In diese Excel-Tabelle trage ich in bestimmte Zellen Informationen ein, die in alle Fußzeilen aller Word-Dokumente im Ordner "Projektdokumente" überführt werden sollen.

Die Kommunikation zwischen Excel und Word steht. Was mir jetzt noch zu meinem Glück fehlt, ist die richtige Syntax für den For Each-Befehl.

Wenn ich die Exceltabelle "Kennung" öffne, sollen automatisch nacheinander alle Word-Files aus dem Ordner "Projektdokumente" geöffnet werden und die Fußzeile beschriftet werden. Also ungefähr so (kritische Zeile habe ich mit "?" gekennzeichnet:

For Each Word.doc in "Projekdokumente" ?
Documents.Open ?
Set obj = ActiveDocument
obj.bookmarks("Projektnummer").Select
With Word.Application.Selection
.InsertAfter Projektnummer
End With
next

Vielen Dank für eure Mühen!

Felix

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For Each Word.doc
27.10.2003 18:29:07
Reinhard
Hallo Felix,
probiers mal aus.
Gruß
Reinhard


Sub t()
With Application.FileSearch
.LookIn = "c:\temp" ' anpassen an projektdokumente
.FileType = msoFileTypeWordDocuments
.Execute
Set myWord = CreateObject("Word.Application.9")
myWord.Visible = True
For Each Datei In .FoundFiles
myWord.Application.Documents.Open Datei
MsgBox Datei 'hier deinen Code einfügen was du mit Datei machen willst
myWord.Application.Documents.Close
Next Datei
End With
End Sub

AW: For Each Word.doc
28.10.2003 11:20:52
Felix
Hallo Reinhard,

danke für deinen wirklich guten Tip. Leider habe ich nachwievor ein Problem. Genrell finde ich es sehr problematisch, wenn man von Excel auf Word zu greift. Den Verweis auf die Bibliothek Micosoft Word 9.0 Object Library habe ich hergestellt und folgeden Code in VB eingefügt:
Dim myWord As Word.Document

Sub zuweisen()
Dim Projektnummer As String
With Application.FileSearch
.LookIn = DieseArbeitsmappe.Path ' anpassen an projektdokumente
.FileType = msoFileTypeWordDocuments
.Execute
'Set myWord = CreateObject("Word.Application.9")
'myWord.Visible = True
For Each Datei In .FoundFiles
Documents.Open Datei
Set myWord = ActiveDocument
'hier deinen Code einfügen was du mit Datei machen willst
Projektnummer = DieseArbeitsmappe.Sheets(1).Cells(2, 2).Value
Word.Application.ActiveDocument.Bookmarks("Projektnummer").Select
myWord.Bookmarks("Projektnummer").Select
With Word.Application.Selection
.InsertAfter Projektnummer
End With
myWord.Application.Documents.Save
myWord.Application.Documents.Close
Next Datei
End With
End Sub


Die Anweisung: 'Set myWord = CreateObject("Word.Application.9") macht mir ständig Probleme, deshalb habe ich Sie rausgenommen. Ich weiß nicht genau was Sie macht, aber es klappt auch so wenn Word geöffnet ist.

Auch muss ich myWord auf dem Umweg Documents.Open Datei; Set myWord = ActiveDocument initialisieren. Sonst läuft es nicht.

So weit so gut. Aber an der Stelle Word.Application.ActiveDocument.Bookmarks; "Projektnummer").Select kommt die Fehlermeldung "#5941 Das angeforderte Element ist nicht in der Sammlung vorhanden"

Wenn ich diesen Code einsetze, dann läuft es problemlos durch. Leider verträft sich das nicht mit deiner For Anweisung:
Dim myWord As Word.Document

Sub zuweisen()
Dim Projektnummer As String
Word.Application.Documents.Open Filename:=DieseArbeitsmappe.Path & "\Test.doc"
Set myWord = ActiveDocument
'hier deinen Code einfügen was du mit Datei machen willst
Projektnummer = DieseArbeitsmappe.Sheets(1).Cells(2, 2).Value
Word.Application.ActiveDocument.Bookmarks("Projektnummer").Select
myWord.Bookmarks("Projektnummer").Select
With Word.Application.Selection
.InsertAfter Projektnummer
End With
'myWord.Application.Documents.Save
'myWord.Application.Documents.Close
End Sub


Ich hoffe du kannst mir weiter helfen und vielen Dank

Felix
Anzeige
noch offen
31.10.2003 11:51:08
Reinhard
Hi Felix,
danke für die Rückmeldung.
Mit Wordzugriffen habe ich mich noch nicht beschäftigt und kann dir deshalb da noch nicht weiterhelfen.
Sorry, dass ich erst jetzt antworte.
Gruß
Reinhard

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige