PDA

Vollständige Version anzeigen : Text in Word ersetzen


Fischi
09.08.2003, 16:22
2. Ich habe eine Vorlage für Word, die ich öffne und daraus ein neues Dokument mache. Nun will ich ein paar Werte aus Access in Word ersetzen.
Eigentlich funktioniert alles und er bringt keine Fehlermeldung, aber er ersetzt auch die Werte nicht



Private Sub bfl_Kurzbrief_Click()
Dim oApp As Object

sPath = Application.CurrentProject.Path

Set oApp = CreateObject("Word.Application")
oApp.Visible = True
Set docBrief = oApp.Documents.Add(Template:=sPath & "\Doku.dot")

With oApp.Selection.Find
.ClearFormatting
.Text = "Name"
.Replacement.ClearFormatting
.Replacement.Text = "Ersetzt"
.Forward = True
.Wrap = wdFindContinue
.MatchCase = True
.MatchWholeWord = True
.Execute Replace:=wdReplaceAll
End With

End Sub

Weiss da jemand etwas dazu?

Nouba
09.08.2003, 17:40
Hallo,

Du kannst es mal mit folgender Prozedur probieren, wobei nicht auf die Word-Library verwiesen werden muß, weil Late-Binding verwendet wird.Public Sub ZeigeKurzbrief()
Dim oApp As Object
Dim oDoc As Object
Dim sPath As String

sPath = Application.CurrentProject.Path

Set oApp = CreateObject("Word.Application")
oApp.Visible = True
Set oDoc = oApp.Documents.Add(Template:=sPath & "\Doku.dot")

With oDoc.Range.Find
.ClearFormatting
.Text = "Name"
.Replacement.ClearFormatting
.Replacement.Text = "Ersetzt"
.Forward = True
.Wrap = 1 ' wdFindContinue
.MatchCase = True
.MatchWholeWord = True
.Execute Replace:=2 ' wdReplaceAll
End With
End Sub

Fischi
10.08.2003, 02:13
danke für die Antwort!

Leider hat das aus irgendeinem unerklärlichen Grund nicht funktioniert :(

Sonst noch irgendeinen Vorschlag?

Nouba
10.08.2003, 07:06
Hallo,

was funktioniert denn nicht? Gibt es irgendwelche Fehlermeldungen?

Fischi
10.08.2003, 10:00
Das gleiche wie vorher, in Word wird es nicht ersetzt, aber keine Fehlermeldung :(

Kannst du mir erklären, wieso er das nicht ersetzt???
Ich glaub, ich verzweifle an diesem blöden Word :mad:

Nouba
10.08.2003, 10:07
Hallo,

kopiere mal den kompletten Kode in ein globales Modul, setze den Cursor irgendow in die Prozedur und starte mit F8 den Einzelschrittmodus. Dann solltest Du eigenlich sehen, was geschieht. Ich habe die Prozedur erfolgreich getestet.