Office: (Office 2013) Word, Excel Serienbrief Makro in einzelne Datein

Helfe beim Thema Word, Excel Serienbrief Makro in einzelne Datein in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Luschi du bist der Beste! Das funktioniert ja wunderbar. Es ist faszinierend zu sehen, wie ich dir immer wieder, dreckigen nicht funktionierenden Code... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Mashtag, 17. Dezember 2016.

  1. Word, Excel Serienbrief Makro in einzelne Datein


    Luschi du bist der Beste!
    Das funktioniert ja wunderbar. Es ist faszinierend zu sehen, wie ich dir immer wieder, dreckigen nicht funktionierenden Code hinwerfe und nach deinem Einsatz, am Schluss wunderschön geschriebener Code rauskommt.

    Das einzige das jetzt noch fehlt ist die richtige Aktivierung des Codes. Das einbinden in die Menüleiste kann ich. Jedoch kann ich deinen Code nicht richtig umschreiben, sodass das richtige passiert.
    Zur Erinnerung das Makro soll ausgelöst werden nachdem ich auf einen Knopf im Menüband drücke. Der Datensatz der activen Zeile soll für das erstellen verwendet werden.

    Ich werde das jetzt nochmal Versuchen, da muss ja einiges am Anfang weg gelöscht werden. Fürchte aber ich werde es nicht hinbekommen da ich es eigentlich schon gestern versucht habe. Also werde ich vermutlich nochmal deine Hilfe benötigen.

    M.f.G
    Mashtag

    Edit:
    Das mit der Selbstständigkeit hab ich nun geschafft. Hab nicht gesehen das du ein eigenes Modul zum Auslösen geschrieben hast.
    Es sollte nun alles passen. Ich werde nun versuchen das in die wirkliche Datei einzubauen. Wobei diese um einige mehr Mergefielder besitzt.
     
  2. Ich versuche gerade die Module in die richtige Datenbank einzutragen.
    Leider funktioniert da einiges nicht.
    Als erstes bekomme ich eine Fehlermeldung bei

    'Pfad zur Word-Dokumentenvorlage
    xDocM = [xpfad].Value & "" & [xDatei].Value
    Path = [xpfad].Value

    Dabei habe ich auch die Einstellungen kopiert. Ich verstehe trozdem nicht wie du einen Wert in [xpfad].Value bekommst.


    Ersetze ich nun diese mit Fixeinträge also
    xDocM = "C:UsersDesktopTestModuleneuA.docm"
    und auch Path.
    'Ist hier anders da ich nun an einem andern Pc arbeite.

    So hängt das Programm einen Schritt weiter bei der Datenübertragung, also bei.

    xSql = "SELECT * FROM [2017$] WHERE [Rechnungs_Nr] = '" & RechNr & "';"
    wdDoc.MailMerge.OpenDataSource Name:=ThisWorkbook.FullName, _
    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=" & ThisWorkbook.FullName & _
    ";Mode=Read;Extended Properties=""Excel 12.0 Macro;HDR=YES;IMEX=1;""", SQLStatement:=xSql, _
    SQLStatement1:="", SubType:=wdMergeSubTypeAccess

    Dabei öffnet sich das Word Dokument, jedoch ist keine Tabelle vorhanden die gewählt werden kann.

    Dabei ist hier genauso Win10 mit Office 2013.

    Ich weiß es ist richtig schwer für dich da du nur den Code siehst. Hast du vielleicht eine idee woran es scheitern könnte?
    Ich habe das Modul exportiert und in die richtige Datei importiert. Anschließend habe ich noch das Tabellenblatt Einstellungen erzeugt und die Einträge in genau die richtigen Zellen geschrieben. Besser gesagt ich habe dein ganzes Eistellungs Blatt kopiert.
    Was könnte ich vergessen haben?
    Der einzige unterschied zwischen den beiden Datein ist, dass es in der echten Datenbank noch mehr Mergefields gibt.

    Ich hoffe du kannst mir noch einmal aus der patsche helfen.
    M.f.G
    Mashtag
     
  3. Hallo Mashtag

    ich arbeite auch mit Windows 10 und Excel 2013/16.
    [xPfad] ist die Zelle Einstellungen!C3 und
    [xDatei] die Zelle Einstellungen!C4
    Diesen beiden Zellen habe ich diese Namen gegeben und in Vba kann man sie mit [xPfad] und [xDatei] benutzen.
    Stelle mal den Cursor auf diese beiden Zellen und im Namensfeld erscheinen die Namen (siehe Anhang).
    Zum Problem der Datenübername:
    - vielleicht/sicher sind einige Daten-Feldnamen (sprich Überschriften der Excel-Tabelle nicht Provider-konform (Microsoft.ACE.OLEDB.12.0)
    - d.h. keine Leerzeichen, Sonderzeichen (+*%&$! usw.), Umlaute und Änliches
    - nur Buchstaben, Ziffern und der Unterstrich (_)
    - dabei muß der Feldname mit einem Buchstaben beginnen
    - deshalb hatte ich ja aus 'Rechnungs-Nr.' dies gemacht 'Rechnungs_Nr'

    Gruß von Luschi
    aus klein-Paris

    PS: Diese Feldnamen muß Du in den Überschriften der Exceltabelle und bei den MergeField-Namen in der Word-Vorlage ändern.
     
  4. Word, Excel Serienbrief Makro in einzelne Datein

    Luschi du hast wie immer recht, es lag an Sonderzeichen.
    Jetzt funktioniert fast alles jedoch ist jetzt ein kleine Problem aufgetaucht.
    In Excel gibt es 2 Spalten bei die auf "Datum" formatiert sind. Bei der Übertragung in Word geht dieses Format verloren. Um dies auszugleichen hatte ich bis jetzt {MERGEFIELD DatumRechnungslegung @ "dd.MM.YYYY"}. Doch leider funktioniert dies nicht mehr. Datum wird mir nun mit einer Zahl angezeigt z.B. 42131.

    Wenn ich die Datenquelle händisch verbinde, dann stimmt alles. Durch das Makro wird dies jedoch falsch angezeigt.

    Könntest du vielleicht nochmal in deine Kristallkugel schauen und mir den richtigen Tipp geben?

    M.f.G
    Mashtag
     
  5. Hallo Mashtag,

    wieder so ein Fall, wo dem Anwender die Haare zu Berge stehen und M$ das Problem einfach nicht in den Griff kriegt; siehe H i e r
    Habe mal in meiner Trickkiste gekramt und schicke Dir morgen Vormittag dazu eine Lösung. Mal sehen, ob sie für Dich praktikabel ist.

    Gruß von Luschi
    aus klein-Paris
     
  6. Hallo Mashtag,

    hier mal wieder eine neue Version.
    Button im Tab-Reiter des Ribbons erstellt und das Makro wird jetzt darüber gestartet.; die andere Methode habe ich deaktiviert.
    Das Datumsproblem habe ich mit 'Trick 17' gelöst. Wenn Du Dir den Link im vorherigen Post durchliest, kann man nur mit dem Kopf schütteln:
    die ganze 'Schalterei' (@ "dd.MM.yyyy") ist einfach vba-mäßig total unzuverlässig.

    Gruß von Luschi
    aus klein-Paris
     
  7. Luschi du bist der Beste!
    Es funktioniert alles perfekt.
    Trick 17 ist aufwändig und macht den Code lange, da ich 7 Felder mit Datum hatte.
    Ich verstehe nicht wie es sein kann, dass ein offensichtlicher Fehler von M$ nicht behoben wird. Es scheint so als gäbe es dieses Problem schon lange.
    Aber nun funktioniert alles perfekt. Danke
     
  8. Word, Excel Serienbrief Makro in einzelne Datein

    Hallo Luschi!
    Es funktioniert nun alles perfekt, jedoch leider nur unter Office 2013.
    Führe ich das gleiche Makro unter Office 2010 aus, bekomme ich das speichern unter Feld angezeigt, welches eigentlich automatisch ausgefüllt werden sollte. Das speicher als PDF funktioniert jedoch.
    Kann man das speichern auch so umschrieben, sodass es unter 2010 und 2013 läuft?

    M.f.G
    Mashtag
     
    Mashtag, 2. Januar 2017
    #23
  9. Hallo Mashtag,

    ergänze doch mal den Parameter 'FileFormat' im Speichern-Befehl für die docx-Datei Code:
    und füge die folgende Konstante etwas weiter oben im Code ein, wo die anderen Konstanten bereits definiert sind:
    Const wdFormatXMLDocument As Integer = 12

    Gruß von Luschi
    aus klein-Paris
     
  10. Hallo Luschi

    Leider konnte ich das bis jetzt nicht ausprobieren, da ich das Programm geschrottet habe. Ich hab mir gedacht die Datenbank vielleicht doch nicht von 1000 an zu starten. Also habe ich die Zellen wieder eingeblendet und alles nach oben verschoben. Durch ausprobieren habe ich festgestellt, dass das Makro in den ersten 9 Zeilen nicht funktioniert. Es öffnet sich Word, jedoch kann die Tabelle nicht gefunden werden.
    Für mich sieht das nach einer falsch deklarierten Variable aus.
    Hab dann einige Änderungen versucht, hat leider nichts geholfen.

    Weißt du vielleicht woran es liegen könnte?

    M.f.G
    Mashtag
     
    Mashtag, 3. Januar 2017
    #25
  11. Hallo Mashtag,

    mir ist nicht so klar, was Du mir damit sagen willst. Deshalb schicke ich noch mal beide Dateien als zip-Datei.

    Gruß von Luschi
    aus klein-Paris
     
  12. Ich hab hier eine alte Version unserer Testdatei so verändert, dass der Fehler auftritt.
    Dafür habe ich mir nur die Zeilen 2-999 einblenden lassen und und mit der zweiten Zeile das Makro getestet. Es funktioniert erst ab der zehnten Zeile.

    lg.
    Mashtag
     
    Mashtag, 3. Januar 2017
    #27
  13. Word, Excel Serienbrief Makro in einzelne Datein

    Leider hilft das ergänzen um "FileFormat:=wdFormatXMLDocument" nicht.
    Das Makro bleibt trotzdem beim speichern hängen. Außerdem wird die Kopfzeile einfach ausgelassen in der erzeugten word und pdf Datei.

    Unter Office 2013 funktioniert bis auf der oben beschriebene Fehler alles perfekt. Ich lasse den ersten (wie ursprünglich gedacht) Datensatz bei Zeilennummer 1001 starten.

    Wenn du keine einfache Lösung für das Problem siehst, dann werde ich wohl oder übel, noch einmal M$ etwas abkaufen müssen.

    M.f.G
    Mashtag
     
    Mashtag, 4. Januar 2017
    #28
  14. Juhuuuu!
    Ich hab nun nach langem suchen alle Fehler ausbessern können.

    Falls es jemanden interessiert.
    Der Fehler, das die Kopfzeile nicht übernommen wurde und das speichern Feld sich geöffnet hat und somit nicht automatisch gespeichert wurde lag am Dateiformat. Meine Serienbriefvorlage war als Strict open docx gespeichert. Dies hat den Fehler (in Office 2010) verursacht. Also musste ich nur die Vorlage als normale docx Datei abspeichern.

    Der Fehler wodurch das Makro nur manchmal lief und bei Zeilenverschiebung nicht mehr lief lag am SQL Befehl.

    Hier der Code mit "Fehler" zumindest verursacht er bei mir manchmal einen Fehler.

    Code:
    Durch weglöschen der ' ' wurde das Problem gelöst.
    WHERE [Rechnungs_Nr] = '" & RechNr & "';

    Nun läuft alles perfekt.
    Vielen Dank Luschi
     
    Mashtag, 5. Januar 2017
    #29
  15. Hallo Mashtag,,

    schön, daß es nun auch mit Excel/Word 2010 läuft. Ich kann es leider mit Office 2010 nicht mehr testen, da ich diese Version und Office 2007 vom PC verbannt habe.
    Fest steht aber, daß mit Office 2013 / 16 die einfachen Hochkommas erforderlich sind, sonst kann Word die Datenquelle in der Excel-Datei nicht finden (siehe Anlage).
    Wenn Du das Programm mit Office 2010 und 2013/16 betrreiben willst, dann mache es so: Code:
    Gruß von Luschi
    aus klein-Paris
     
Thema:

Word, Excel Serienbrief Makro in einzelne Datein

Die Seite wird geladen...
  1. Word, Excel Serienbrief Makro in einzelne Datein - Similar Threads - Word Excel Serienbrief

  2. Word (2016), Seriendruck mit vorhandener Datenquell-Liste in Excel

    in Microsoft Word Hilfe
    Word (2016), Seriendruck mit vorhandener Datenquell-Liste in Excel: Hallo, ich würde mich sehr über Hilfe freuen, Problem: In der Serienbriefvorschau erscheint das Seriendruckfeld "Datum" unaufgefordert mit der Angabe der Uhrzeit. Die Uhrzeit will ich gar...
  3. Excel - Word - Excel (Datenbankabfrage funktioniert nicht)

    in Microsoft Excel Hilfe
    Excel - Word - Excel (Datenbankabfrage funktioniert nicht): Hallo zusammen. Ich suche nun schon länger nach einer Lösung für mein Problem. Leider konnte mir weder Big Brother Google noch die SuFu helfen. Folgende Problematik: - In einer...
  4. Excel-Word-Serienbrief - Excel Datei automatisch aktualisieren

    in Microsoft Excel Hilfe
    Excel-Word-Serienbrief - Excel Datei automatisch aktualisieren: Hallo liebe Helferlein! Habe folgendes Problem: Ich habe eine Serienbriefquelldatei in Excel erstellt, die eine Funktion enthält, die mir vom aktuellen Datum aus gesehen den übernächten...
  5. Etiketten über Serienbrief in Word - Inhalt aus Excel mit mehreren Sheets?

    in Microsoft Word Hilfe
    Etiketten über Serienbrief in Word - Inhalt aus Excel mit mehreren Sheets?: Hallo zusammen, Arbeitsauftrag: Etiketten zum Kennzeichnen des Lagerbestandes erstellen (in Word). Klappt alles soweit, z.Z. sind aber alle unterschiedlichen Rubriken des Lagerbestandes in...
  6. Serienbrief mit Excel Tabelle

    in Microsoft Word Hilfe
    Serienbrief mit Excel Tabelle: Hallo Leute, ich wollte mich heute ein bisschen in das Thema Serienbriefe einarbeiten, da ich das als Office Support können muss ;) Die Anleitung in diesem Tutorial wollte ich befolgen:...
  7. Serienbrief mit Daten aus einer Exceltabell

    in Microsoft Excel Hilfe
    Serienbrief mit Daten aus einer Exceltabell: Ich möchte aus einer Exceltabelle Zahlen und Daten in einen Serienbrief übernehmen. beim Einlesen der Zahlen mit Kommastelle zum Beispiel 2,50 übernimmt das Worddukument die Zahl aber als...
  8. Serienbrief Word/Excel Filter wie speichern?

    in Microsoft Word Hilfe
    Serienbrief Word/Excel Filter wie speichern?: Hallo Word und Excel Spezialisten! Ich habe in Excel 2003 eine Tabelle mit Namen, Adressen und weiteren Feldern. In Word 2003 nutze ich nun den Serienbriefassistenten und als Datenquelle die...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden