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

Aus Excel herraus in word arbeiten

Aus Excel herraus in word arbeiten
Dirk
Hallo ihr lieben,
ich habe ein hoffendlich kleines Problem, bei dem ich nicht weiter komme
ich habe eine Reihe an Zahlen in Excel, die ich der reihe nach in Variablen einlese.
soweit kein Problem.
Die Variablen muss ich aber in eine Worddatei übergeben, in der eine Tabelle hinterlegt ist.
leider darf ich diese nicht löschen.
ich bin jetzt hergegangen und habe in word mir Sprungpunkte gesetzt, die durch meine Werter ersetzt werden sollen.
mit CreateObject habe ich eine Wordfenster generiert, in dem er dann die Vorlage öffnet.
bis hier läuft auch noch alles
jetzt kommt es aber da ich nicht weiß wie ich das sonst machen soll habe ich in word dies hier aufgezeichnet und Variablen eingesetzt
With WdAnw
.Selection.Find.ClearFormatting
.Selection.Find.Replacement.ClearFormatting
With .Selection.Find
.Text = finden
.Replacement.Text = ersetzten
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
.Selection.Find.Execute Replace:=wdReplaceAll
End With

in diesem Block sollte er eigendlich den ersten sprungpunkt finden und durch meinen wert ersetzten. dummerweise hängt er sich in eine endlosschleife auf ohne auch nur den ersten Wert übergeben zu haben.
hatt einer eine Idee was ich machen kann
Vielen Dank
Dirk

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Aus Excel herraus in word arbeiten
11.05.2010 15:00:04
xr8k2
Hallo Dirk,
wie hast du denn die Sprunkmarken im Word gesetzt ... einfach nur Text der dann im Word gesucht und ersezt werden soll (zumindest interpretiere ich das mal aus deinem geposteten Codeschnipsel)?!
Ich weiß nicht wie dein Worddocument aufgebaut ist, aber ich find das nicht besonders effektiv. Ich für meinen Teil setze mir im Word immer für jeden Eintrag spezielle Textmarken, die ich dann mit VBA direkt ansprechen kann.
Z.B.
wdanw.bookmarks("DeineTextMarke").range.text = DeineVariable 'Vorausgesetzt wdanw ist eine Variable fürs Dokument
Wenn du, wie du schreibst, eine Tabelle im Word befüllst, kannst du dies alternativ z.B. auch so machen:
wdanw.tables(1).cell(1,1).range.text = DeineVariable 'Vorausgesetzt wdanw ist eine Variable fürs Dokument
Gruß,
xr8k2
Anzeige
AW: Aus Excel herraus in word arbeiten
11.05.2010 17:13:06
Dirk
Hallo xr8k2,
erstmal Danke für deine schnelle Antwort.
Ja du hattest das richtig interpretiert ich hab ein word dokument mit 2-3 Tabelle, in der ich werte Pro Zeile einer Excel-Datein einfügen möchte.
ich bin erstmal hergeganen und habe worte für die punkte als text geschrieben.
mein Problem ist hat die tabelle ist relativ lang (ca 500 zeilen) und pro Zeile muss ich ein solches Formblatt füllen.
das ganze möchte ich in schleife legen, sodas die Excel-Datei von zeile 1 bis 500 je 1 worddokument erzeugt.
leider kommt es mit deinem Code
wdanw.tables(1).cell(1,1).range.text = DeineVariable 'Vorausgesetzt wdanw ist eine Variable fürs Dokument

zu einem Fehler wenn ich das aus excel herraus laufen lassen will.
aber richtig verstehen tu ich den Code doch oder?
tables steht doch dür die tabelle und in der () steht die wievielte tabelle das ist?
Cell ist klar (spalte, Zeile)
gruß
Dirk
Anzeige
AW: Aus Excel herraus in word arbeiten
11.05.2010 17:41:54
xr8k2
Hallo Dirk,
auch du interpretierst den Code richtig ;-)
Dein Problem wird sicherlich die Objektvariable "wdanw" sein. Konnt ich nicht richtig erkennen ob die auf die Word-Application oder das Word-Document referenziert.
Nur mal so als Beispiel, wie´s prinzipiell mit einer Tabelle funktionieren könnte (es wird ein Text in die erste Zelle der ersten Tabelle des bereits geöffneten aktiven Word-Dokumentes eingefügt):
Sub InWordTabelleEinfuegen()
Dim wdanw As Object
Dim wddoc As Object
Dim DeineVariable As String
DeineVariable = "TabellenText" 'hier eben auch Zuweisung eines Zellwertes möglich
Set wdanw = GetObject(class:="Word.Application")
Set wddoc = wdanw.activedocument
wddoc.tables(1).cell(1, 1).Range.Text = DeineVariable
Set wddoc = Nothing
Set wdanw = Nothing
End Sub

Anzeige
AW: Aus Excel herraus in word arbeiten
11.05.2010 18:29:41
Dirk
super
Danke
Set wddoc = wdanw.activedocument

Das fehte jetzt noch besten Dank
Gruß
Dirk
AW: Aus Excel herraus in word arbeiten
11.05.2010 17:46:56
Dirk
ich nochmal
Dim WdAnw As Object
Set WdAnw = CreateObject("word.application")
With WdAnw
.Documents.Open Filename:="C:\testdatei.doc"
.Visible = True
End With
WdAnw.Tables(2).Cell(2, 3).Range.Text = "test"
hier das ist der Code den ich jetzt drin hab (als test)
dieser Code befindet sich in einer Exceldatei und sollte doch eigendlich nur die Testdatei.doc öffnen und in der 2. Tabelle zeile 2 spalte 3 das wort "test" schreiben.
aber bei WdAnw.Tables(2).Cell(2, 3).Range.Text
kommt es zu einer Fehlermeldung
Laufzeitfehler'438'
objekt unterstützt diese eigenschaft oder methode nicht

Gruß
Dirk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige