Thema Datum  Von Nutzer Rating
Antwort
12.07.2022 09:59:34 Ilona
NotSolved
12.07.2022 12:23:11 volti
NotSolved
15.07.2022 08:47:11 Ilona
NotSolved
18.07.2022 13:13:20 Ilona
NotSolved
Rot "Platzhalter" in Word sollen über VBA angesprochen werden und danach Wert aus Excel zuweis
18.07.2022 17:07:15 volti
NotSolved
26.07.2022 14:34:08 Hallo
NotSolved

Ansicht des Beitrags:
Von:
volti
Datum:
18.07.2022 17:07:15
Views:
450
Rating: Antwort:
  Ja
Thema:
"Platzhalter" in Word sollen über VBA angesprochen werden und danach Wert aus Excel zuweis

Hallo Ilona,

 

Du kannst das jetzt in einer Schleife aus einer zweispaltigen Tabelle (Sp1=Suchbegriff, Sp2=Ersetzung) nehmen oder wie unten angeführt mein bisheriges Muster angepasst beibehalten oder sonst was machen.

In diesem Beispiel kannst Du die Suchbegriffe wie bisher vorgeben und dann das Feld angegeben, aus dem der Wert genommen werden soll.

Ist m.E. am praktikabelsten, sofern Du nicht Unmengen an Ersetzungen machen möchtest.

Code:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
Sub Test()
' Early Binding =>Verweis auf Wordbibliothek muss gesetzt sein
  Dim appWD As New Word.Application, oDoc As Word.Document
  Dim sErsetz() As String, i As Integer

' Suchbegriff1,Feld1, Suchbegriff2,Feld2, Suchbegriff3,Feld3 .....
  sErsetz = Split("#Jahr#,A1,#Attribut#,B1", ",")
  Const csWorddatei = "C:\Users\volti\Documents\Worddokumente\Test.docm"

  appWD.WordBasic.DisableAutoMacros         ' Makros ausschalten
  Set oDoc = appWD.Documents.Open(Filename:=csWorddatei)
  appWD.Visible = True                      ' Word sichtbar

  With oDoc.Range.Find
      .ClearFormatting
      .Replacement.ClearFormatting          ' Zurücksetzen
      .MatchWholeWord = True                ' Ganze Wörter
      .MatchCase = False                    ' Groß-Kleinschreibung
      For i = 0 To UBound(sErsetz) Step 2   ' Anzahl Suchbegriffe
          .Text = sErsetz(i)
          .Replacement.Text = Range(sErsetz(i + 1))
          .Execute Replace:=wdReplaceAll, Forward:=True, Wrap:=wdFindContinue
      Next i
  End With
  oDoc.Save                              ' Dokument speichern
  oDoc.Close SaveChanges:=False             ' Dokument schließen ohne speichern
  appWD.Quit                                ' Word schließen
  Set oDoc = NothingSet appWD = Nothing

End Sub
_________
viele Grüße
Karl-Heinz

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
12.07.2022 09:59:34 Ilona
NotSolved
12.07.2022 12:23:11 volti
NotSolved
15.07.2022 08:47:11 Ilona
NotSolved
18.07.2022 13:13:20 Ilona
NotSolved
Rot "Platzhalter" in Word sollen über VBA angesprochen werden und danach Wert aus Excel zuweis
18.07.2022 17:07:15 volti
NotSolved
26.07.2022 14:34:08 Hallo
NotSolved