Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

AutoText von Excel nach Word

AutoText von Excel nach Word
17.10.2006 22:50:15
Werner
Hallo Excel & VBA Freunde,
Bin am verzweifeln!
ich versuche eine Liste mit Kürzeln und den Text dazu nach Word zu biemen.
Leide geht das nicht so wie ich gern hätte.
Tabellen Strucktur:
in Spalte A: stehen die Kürzel (zb. blabla)
und in Spalte B. steht der dazugehörige Text (zb. Natürlich mein Schatz ich komme)
Was mach ich den Falsch??
Hier mein ansatz:

Sub Word_Autotext()
Dim appWord As Object
Dim wdDoc As Object
Dim i%, wert1, wert2
Dim leere_Zeile
leere_Zeile = Sheets(1).Range("B" & Rows.Count).End(xlUp).Row
Set appWord = CreateObject("Word.Application")
Set wdDoc = appWord.Documents.Add
appWord.Visible = True
For i = 2 To leere_Zeile
wert1 = Range("A" & i)
wert2 = Range("B" & i)
'Hier geht es nicht mehr weiter
appWord.NormalTemplate.AutoTextEntries.Add Name:=wert1, Range:=wert2
Next i
appWord.Quit
Set wdDoc = Nothing
Set appWord = Nothing
End Sub

Ich hoffe das mir jemand helfen kann.
Mit besten Dank im voraus
Gruss Werner

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: AutoText von Excel nach Word
17.10.2006 23:16:44
Reinhard
Hi Werner,
lese dich mal hier ein:
http://mypage.bluewin.ch/reprobst/FrmSet.htm?Index
Word-Vba kenne ich nicht, da gibts wohl auch ein "Range"-Objeckt, aber nunja, k.A. wie man das behandelt.
Vielleicht hilft es wenn du dir in Word ein Einfügmakro aufzeichnest, evtl bringt dich der Code weiter.
Ich mein da gibt es einen Befehl "Insert".
Sorry, mehr weiß ich nihct. Frage noch offen
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: AutoText von Excel nach Word
18.10.2006 00:45:46
Werner
Hallo Reinhard,
Leider bringt mich dein Beitrag nicht weiter.
Ich danke dir aber trotzdem für deinen Bemühungen.
Gruss Werner
Anzeige
AW: AutoText von Excel nach Word
18.10.2006 01:44:35
Reinhard
Hi Werner,
auf der Link-Seite ist viel, auch zu Vba, biste dir sicher dass da nix dabei war?
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: AutoText von Excel nach Word
18.10.2006 12:38:59
Werner
Hallo Reinhard,
Auf der Seite, und viele andere war ich schon!
Hat mir alles nicht geholfen.
Ich schaffe es ohne Problem die Daten in die AutoKorrektur zu biemen,
nur in den Autotext da bin ich am Ende mit meinem Latein.
Danke die aber vielmals für deine Bemühungen
Gruss Werner
AW: AutoText von Excel nach Word
18.10.2006 00:16:11
Stefan Br.
Hallo Robert,
Ich kann mich Reinhard nur anschliessen dass ich mich mit Word auch nicht so auskenne, aber Word verlangt als zweites Argument einen Bereich im Word Dokument, wohl den Bereich wo es den Autotext hinschreiben kann. Ein Range Objekt dafuer waere Selection.Range. Die AutoTextEntries funktionieren offenbar nicht so, dass Du da AAA reinschreibst und Word damit sagen kannst dass es BBBBBBBBBBBBBBBBB schreiben soll, sondern Du musst den Text schon genauso anfangen wie der Text am Ende aussehen soll, damit Word ihn erkennt. Also mit "Natuerl" z.B. fuer Dein Beispiel.
Was Du fuer Dein Beispiel braeuchtest waere die Autokorrektur, die Automatisch aus einem "blabla" ein "Natuerlich mein Schatz ich komme" macht. Die Syntax dafuer ist
appWord.AutoCorrect.Entries.Add Name:="blabla", Value:="Natuerlich mein Schatz ich komme".
Schoene Gruesse
Stefan
Anzeige
AW: AutoText von Excel nach Word
18.10.2006 00:44:19
Werner
Hallo Robert,
Das mit der Autokorrektur ist kein Problem! Das habe ich schon hinbekommen!
Ich danke dir trotzdem.
Gruss Werner
AW: AutoText von Excel nach Word
18.10.2006 07:10:40
Erich G.
Hallo Werner,
vsersuchs mal mit
   For i = 2 To letzte_Zeile
wert1 = Range("A" & i)
wert2 = Range("B" & i)
appWord.Selection.TypeText Text:=wert2
appWord.Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
appWord.NormalTemplate.AutoTextEntries.Add Name:=wert1, Range:=appWord.Selection.Range
'###  appWord.NormalTemplate.AutoTextEntries.Add Name:=wert1, Range:=wert2 ' geht nicht
Next i
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: AutoText von Excel nach Word
18.10.2006 10:44:49
gerwas
Hallo
Ich habe das schon mal so gelöst...

Sub daten_holen()
'in datenqulle.xls existiert ein bereich mit namen "tab_1"
'im word dokument existiert eine tabelle mit genausovielen zeilen und spalten
'kann man aber auch dynamiscch machen
Set kalkulation = GetObject("g:\datenquelle.xls")
cc = kalkulation.Sheets(1).Range("tab_1")
co = UBound(cc, 2)
ro = UBound(cc, 1)
For c = 1 To co 'titelspalte weglassen wäre 2
r = 1
For Each eineZelle In ActiveDocument.Tables(1).Columns(c).Cells()
If cc(r, c) = "" Or cc(r, c) = "0" Then
eineZelle.Range.Text = " " 'hier steht ein ALT255 damit's nach html passt
Else
eineZelle.Range.Text = cc(r, c)
End If
r = r + 1
Next eineZelle
Next 'spalte
End Sub

mfg gerwas
Anzeige
AW: AutoText von Excel nach Word
18.10.2006 12:44:21
Werner
Hallo Gerwas,
Sorry, aber ich kann da nirgends sehen wo die Daten in den Autotext
gebracht werden.
Ich hab es in Word laufen lassen, kamen Fehlermeldungen (kaum Ahnung in Word VBA).
Danke für deine Bemühungen
Gruss Werner
AW: AutoText von Excel nach Word
19.10.2006 11:05:05
gerwas
Hallo Werner
versuche maal folgendes aus word heraus zu starten, vorher eine tabelle mit den daten anlegen oder das macro entsprechend anpassen...
mfg gerd

Sub daten_holen()
'was ist word_autotext?, kenne ich nicht. wozu brauchst du das?
'dies ist ein word-macro, also nicht aus excel heraus starten sondern aus word
'um daten von excel nach word zu holen benutze ich immer diese methode
'in datenquelle.xls stehen deine texte, die du rüberbiemen willst
Set kalkulation = GetObject("L:\zwischenlager\datenquelle.xls") 'hier pfad und dateiname anpassen
cc = kalkulation.Sheets(1).Range("A1:B5") 'interessierenden datenbereich in array einlesen
co = UBound(cc, 2) 'anzahl spalten ermitteln (muß hier 2 sein wegen A1:B5)
ro = UBound(cc, 1) 'anzahl zeilen ermitteln (muß hier 5 sein wegen A1:B5)
Documents.Add DocumentType:=wdNewBlankDocument 'neues dokument erzeugen oder das wo der text hin soll activieren
'Documents("Ziel.doc").Activate
'jetzt entsprechend der quelle eine tabelle erzeugen oder eine bereits vorhandene verwenden
ActiveDocument.Tables.Add Range:=Selection.Range, NumRows:=ro, NumColumns:= _
co, DefaultTableBehavior:=wdWord9TableBehavior, AutoFitBehavior:= _
wdAutoFitFixed
For c = 1 To co 'spaltenweise auslesen
r = 1
For Each eineZelle In ActiveDocument.Tables(1).Columns(c).Cells() 'jede zelle in der spalte
eineZelle.Range.Text = cc(r, c) 'inhalt aus dem array reinschreiben
r = r + 1
Next
Next
End Sub

Anzeige
AW: AutoText von Excel nach Word
19.10.2006 12:52:27
Werner
Hallo Gerd,
Danke das du dich meldest.
Das Makro ist super! Nun Hab ich nur noch das Problem das ich die Daten immer noch nicht in den AutoText bekomme.
Kannst du mir da auch noch weiter helfen??
Danke für deine Bemühungen
Gruss Werner
AW: AutoText von Excel nach Word
19.10.2006 13:41:31
Erich G.
Hallo Werner,
hast du malo ausprobiert, was ich gestern (18.10.2006 07:10:40) hier geschrieben habe?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: AutoText von Excel nach Word
19.10.2006 18:23:21
Werner
Hallo Erich,
Sorry das ich mich bei dir nicht gemeldet habe, verliere langsam den Überblick.
Ja ich hab das Makro ausprobiert, geht leider nicht aus Excel heraus.
Gerd hat ein Makro geschrieben, wo die Excel Daten, in eine Tabelle in Word bringt.
Nur ist das Problem wie bekomme ich die Daten aus der Tabelle in die
AutoTexte.
Danke für deine Bemühungen
Gruss Werner
Anzeige
AW: AutoText von Excel nach Word
19.10.2006 20:15:18
Erich G.
Hallo Werner,
in meiem Beitrag standen nur ein paar Zeilen, die du in deinem bisherigen Makro ändern müsstest,
das andere hattest du ja schon.
Hier nochmal komplett - bei mir funzt es:
Sub Word_Autotext()
Dim appWord As Object
Dim wdDoc As Object
Dim i%, wert1, wert2
Dim leere_Zeile
Const wdStory = 6
Const wdExtend = 1
leere_Zeile = Sheets(1).Range("B" & Rows.Count).End(xlUp).Row
Set appWord = CreateObject("Word.Application")
Set wdDoc = appWord.Documents.Add
appWord.Visible = True
For i = 2 To leere_Zeile
wert1 = Range("A" & i)
wert2 = Range("B" & i)
appWord.Selection.TypeText Text:=wert2
appWord.Selection.HomeKey Unit:=wdStory, Extend:=wdExtend
appWord.NormalTemplate.AutoTextEntries.Add Name:=wert1, Range:=appWord.Selection.Range
Next i
appWord.Quit
Set wdDoc = Nothing
Set appWord = Nothing
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Vielen Dank
19.10.2006 20:22:58
Werner
Hallo Erich,
He, suuuuuuuuuuuuuper!!!
Genau so wollte ich das.
1000 Dank und
Gruss Werner

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige