Thema Datum  Von Nutzer Rating
Antwort
Rot Mailmerge: Straßennummern korrekt ausgeben
23.01.2024 10:10:05 johannes
Solved
23.01.2024 17:56:59 ralf_b
Solved
24.01.2024 08:04:18 Gast5753
Solved
24.01.2024 08:16:30 Johannes
Solved

Ansicht des Beitrags:
Von:
johannes
Datum:
23.01.2024 10:10:05
Views:
870
Rating: Antwort:
 Nein
Thema:
Mailmerge: Straßennummern korrekt ausgeben

MS Office 2016, Windows 10

Hi,

ich hab ein Rechnungserstellungsmakro, das meine Kundendaten (Name, Adresse, ...) aus einer Excel Tabelle liest und eine Word-Rechnungsvorlage damit ausfüllt und so Rechnungen erstellt. Das geschieht (so viel ich verstanden habe) mit Mailmerge. Das Makro starte ich aus der Excel Tabelle heraus.

Problem: Ein Feld funktioniert nicht richtig, nämlich die Straßen/Haus-Nummer. In der finalen Rechnung steht eine Zahl, die wie ein Datum aussieht, obwohl die entsprechenden Zellen in der Excel-Tabelle als TEXT formatiert sind. Ein Beispiel:

Excel enthält die Zahl 20 in der entsprechenden Zelle und diese Zelle ist als Text formatiert. Raus kommt in der Rechnung dann "1/20/1900".

Das Feld in der Word-Vorlage heisst {MERGEFIELD ClientStreetNr}

Ich bin mir nicht sicher welcher VBA-code für die Befüllung dieser Felder zuständig ist, vielleicht dieser hier?

Public Sub DoMailMerge(wdDoc As Word.Document, strSource As String, Optional recNum As Long)
'Note: A VBA Reference to the Word Object Model is required, via Tools|References
  With wdDoc
    With .MailMerge
        .OpenDataSource Name:=strSource, _
        ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
        WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & strSource & ";Mode=Read;" & _
        "Extended Properties=""HDR=YES;IMEX=1;", _
        SQLStatement:="SELECT * FROM `Data$`", SQLStatement1:="", SubType:= _
        wdMergeSubTypeAccess
        
        'SQLStatement:="SELECT * FROM `Report1$`", SQLStatement1:="", SubType:= _
        'SQLStatement:="SELECT * FROM `Report1$` WHERE Line = '1'", SQLStatement1:="", SubType:= _

        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
      With .DataSource
        If recNum <> 0 Then
            .FirstRecord = recNum 'wdDefaultFirstRecord '
            .LastRecord = recNum 'wdDefaultLastRecord '
        Else
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
        End If
        'While .RecordCount < .LastRecord
            'WaitingNow 1
            'Debug.Print .ActiveRecord
        'Wend
      End With
      'Excecute the merge
      .Execute
    End With
  End With
End Sub

 


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
Rot Mailmerge: Straßennummern korrekt ausgeben
23.01.2024 10:10:05 johannes
Solved
23.01.2024 17:56:59 ralf_b
Solved
24.01.2024 08:04:18 Gast5753
Solved
24.01.2024 08:16:30 Johannes
Solved