Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1156to1160
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
Inhaltsverzeichnis

Excel -> Word

Excel -> Word
ing.grohn
Hallo Forum,
ich möchte aus einer Excel-Anwendung Word aufrufen, einen Text dort bearbeiten und dann vermittels des aufrufenden Makros diesen Text unter dem im Makro vorgesehenen Pfad und Dateinamen speichern.
Im Forum habe ich folgendes Listig von Franz/fcs gefunden:
'Falls noch nicht gemacht dann im Excel-VBA-Editor unter Extras-Verweise den Verweis auf die
'Microsoft Word x.y Object Library aktivieren
Sub XY_Click()
Dim datei As String
Dim dok As Object
Dim wd As Object
Dim Pfad As String, Dateiname As String
datei = "\eigene dateien\vorlagen\testdatei.doc"
Set wd = CreateObject("Word.Application")
wd.Visible = True
Set dok = wd.Documents.Add(datei)
dok.FormFields("T123").Range.text = Worksheets("tabelle3").Range("B2").Value   '- hier  _
Fehlermeldung
Pfad = "C:\eigene dateien\Test"
Dateiname = "Wordtestneu.doc"
With wd.Dialogs(wdDialogFileSaveAs)
.Name = Pfad & "\" & Dateiname
.Show
End With
End Sub

Das Makro verabschiedet sich mit der Fehlermeldung 5941 das angeforderte Element ist nicht vorhanden. Die Textmarke gibt es und die Datei wir auch geöffnet.
Wer weiss weiter?
Baie dankie
Mit freundlichen Grüßen
Albrecht

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Excel -> Word
02.06.2010 11:59:15
Oberschlumpf
Hi Albrecht
Wenn ich deinen Code starte, wird selbiger hier unterbrochen:
Set dok = wd.Documents.Add(datei)

Der Grund ist diese Zeile:
datei = "\eigene dateien\vorlagen\testdatei.doc"

Du musst ganz links (vorm ersten Backslash (\)) auch einen Laufwerksbuchstaben (inkl Doppelpunkt) - z Bsp C: - eintragen.
Deswegen verstehe ich auch nicht, dass du schreibst, deine Datei wird geöffnet - ohne Änderung des Codes, wie gerade beschrieben, öffnet sich bei mir nur Word.
Hilft es denn schon?
Ciao
Thorsten
Anzeige
AW: Excel -> Word
02.06.2010 12:06:09
ing.grohn
Hallo Thorsten,
da liegt das Problem nicht. Ohne Laufwerk wir auf den Pfad, ausgehend vom Root, des aktuellen Laufwerks verwiesen. Gibt´s hier nen Fehler, ist der Pfad nicht korrekt oder der Dateiname ist falsch.
Die Fehlermeldung stört sich ja scheinbar ander fehlenden Textmarke!
Mit freundlichen Grüßen
Albrecht
ach so..danke!..wusst ich nich...owT
02.06.2010 12:09:29
Oberschlumpf
weitere Info
02.06.2010 12:08:43
Oberschlumpf
Hi Albrecht
Nach Korrektur deines Codes wird selbiger nun (auch bei mir) in dieser Zeile unnterbrochen:
dok.FormFields("T123").Range.text = Worksheets("tabelle3").Range("B2").Value
Du schreibst: "...Die Textmarke gibt es...
Ich erhalte aber in der Hilfe, wenn ich nach FormFields suche, diesen Text:
Eine Auflistung von FormField-Objekten, die alle Formularfelder in einer Markierung, einem Bereich oder einem Dokument darstellen.
Dann versuchst du also mit dok.FormFields("T123")... auf ein Formularfeld und nicht auf eine Textmarke zuzugreifen.
Na ja, oder ich habe das nicht verstanden, und auf Textmarken wird mit dem selben Code zugegriffen.
Ciao
Thorsten
Anzeige
AW: weitere Info
02.06.2010 12:24:59
xr8k2
Hallo Albrecht,
wenns wirklich eine Textmarke und kein Formularfeld ist dann ...
dok.bookmarks("T123").Range.text = ...
Gruß,
xr8k2
AW: Excel -> Word
02.06.2010 12:49:23
ing.grohn
Hallo Oberschlumpf und xr8k2,
es ist keine Textmarke sondern ein Textformularfeld!! Hab ich schon geändert.
Jetzt hab ich noch zwei Probleme:
Wie kann ich den Text bearbeiten und dann die Speicherroutine laufen lassen (wichtig)!
Zweitens ist die Zuordnung mit Worksheets("Tabelle3").Range("B2").Value nicht korrekt (ich denk, dass krieg ich hin. Mit einem Textstring klappt dieser Punkt!).
Mit freundlichen Grüßen
Albrecht
Anzeige
AW: Excel -> Word
02.06.2010 13:15:25
ing.grohn
Hallo Forum,
das Programm funktioniert soweit:
Sub XY_Click()
Dim datei As String
Dim dok As Object
Dim wd As Object
Dim Pfad As String, Dateiname As String
datei = "c:\eigene dateien\vorlagen\testdatei.doc"
Set wd = CreateObject("Word.Application")
wd.Visible = True
Set dok = wd.Documents.Add(datei)
'Funktioniert: dok.FormFields("T1234").Result = Worksheets("Tabelle3").Range("B1").Value
'ab hier möchte ich den Text bearbeiten
'anschliessend sollen die folgenden Zeilen weiterlaufen. Aber wie?
Pfad = "C:\eigene dateien\Test"
Dateiname = "Wordtestneu.doc"
With wd.Dialogs(wdDialogFileSaveAs)
.Name = Pfad & "\" & Dateiname
.Show
End With
End Sub
Wer kann helfen?
Mit freundlichen Grüßen
Albrecht
Anzeige
AW: Excel -> Word
03.06.2010 08:26:23
xr8k2
Hallo Albrecht,
versteh´ nicht ganz ... was meinst du denn mit
'ab hier möchte ich den Text bearbeiten
^^
Gruß,
xr8k2
AW: Excel -> Word
03.06.2010 14:58:03
ing.grohn
Hallo xr8k2,
ich muß meine Frage jetzt abwandeln:
Ausgangspunkt: Aus einer Excel Adressverwaltung rufe ich aus einer UserForm Word auf und trage die entsprechenden Daten wie Adresse etc in den Brief ein. Dann wird der eigentliche Brief geschrieben.
Ist der Brief fertig, soll er gedruckt werden. (bis hieher funtioniert das alles wunderbar!!). Nun möchte ich aber, dass automatisch (also ohne weiteres zutun des Anwenders) der Text in einem bestimmten Ordner gespeichert und die Adressverwaltung wieder aktiv wird.
(das war mit der Zeile gemeint: ab hier den Text bearbeiten, danach speichern)
Denk noch mal drüber nach.
Mit freundlichen Grüßen
Albrecht
Anzeige
AW: Excel -> Word
03.06.2010 16:23:54
xr8k2
Hallo Albrecht ...
hab noch mal drüber nachgedacht und versteh´s immer noch nicht ... du hast doch eigentlich schon alles im Makro drinstehen, was du brauchst ... oder soll ohne Dialogfenster gespeichert werden ?

dok.FormFields("T1234").Result = Worksheets("Tabelle3").Range("B1").Value
Pfad = "C:\eigene dateien\Test\"
Dateiname = "Wordtestneu.doc"
dok.SaveAs Pfad & Dateiname
wd.Quit
Gruß,
xr8k2

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige