Office: (Office 2013) kleines Problem beim erstellen von serienbriefen per vba

Helfe beim Thema kleines Problem beim erstellen von serienbriefen per vba in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen ich habe letztes Jahr mit Hilfe eines Forums einen VBA Code erstellt mit dem ich Serienbriefe aus einer Exceldatei erstellen kann. Jetzt... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Jörg B, 31. Dezember 2022.

  1. Jörg B Neuer User

    kleines Problem beim erstellen von serienbriefen per vba


    Hallo Zusammen
    ich habe letztes Jahr mit Hilfe eines Forums einen VBA Code erstellt mit dem ich Serienbriefe aus einer Exceldatei erstellen kann. Jetzt habe ich das Sheet in Excel angepasst und das Makro umgeschrieben. Ich habe auch eine neue Wordvorlage erstellt für die Ausgabe. Leider bekomme ich es nicht hin das das Makro funktioniert. Es hängt sich immer an der ersten Zeile der zu übertragenden Spalten auf und meldet "Laufzeitfehler 5941: Das angeforderte Element ist nicht in der Sammlung vorhanden".
    Ich glaube das es nur eine Einstellung oder so sein kann finde aber die Lösung nicht.
    Hoffentlich kann mir jemand weiterhelfen.

    Grüße Jörg

    Ich habe noch das Problem die Beratung.dotx Datei hochzuladen. Bekomme die Fehlermeldung:
    Folgende Fehler sind aufgetreten
    Die hochgeladene Datei gehört nicht zu einem erlaubten Dateiformat.

    Beratung.dotx


    Mein Code ist:
    Sub Docs_erstellen()
    Dim wd As Word.Application
    Dim vPath As String
    Dim spath As String
    Dim myFile As String
    vPath = ThisWorkbook.Path & "\"
    spath = ThisWorkbook.Path & "\Aufträge\"
    Set wd = CreateObject("word.Application")
    With Sheets("sbrief")
    For ze = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
    If IsDate(.Cells(ze, 9)) Then
    Application.StatusBar = "Drucke gerade die Auftrag Nr. " & .Cells(ze, 1) & "..."
    myFile = .Cells(ze, 3) & "_" & .Cells(ze, 10) & "_" & .Cells(ze, 11) & ".pdf"
    wd.Documents.Add (vPath & "Beratung.dotx")
    wd.ActiveDocument.Bookmarks("Datum").Range.Text = Format(.Cells(ze, 2).Value, "dd.mm.yyyy")
    wd.ActiveDocument.Bookmarks("Betrieb").Range.Text = .Cells(ze, 3).Value
    wd.ActiveDocument.Bookmarks("Name").Range.Text = .Cells(ze, 4).Value
    wd.ActiveDocument.Bookmarks("Strasse").Range.Text = .Cells(ze, 5).Value
    wd.ActiveDocument.Bookmarks("Plz").Range.Text = .Cells(ze, 6).Value
    wd.ActiveDocument.Bookmarks("Ort").Range.Text = .Cells(ze, 7).Value
    wd.ActiveDocument.Bookmarks("Email").Range.Text = .Cells(ze, 8).Value
    wd.ActiveDocument.Bookmarks("Schlag").Range.Text = .Cells(ze, 10).Value
    wd.ActiveDocument.Bookmarks("Kultur").Range.Text = .Cells(ze, 11).Value
    wd.ActiveDocument.Bookmarks("Nbedarfswert").Range.Text = Format(.Cells(ze, 12).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Ertrag").Range.Text = Format(.Cells(ze, 13).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("betrErtrag").Range.Text = Format(.Cells(ze, 14).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Nertragzuabschlag").Range.Text = Format(.Cells(ze, 15).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Nzuschlagabdeckung").Range.Text = Format(.Cells(ze, 16).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Nmin0-30").Range.Text = Format(.Cells(ze, 17).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Nmin30-60").Range.Text = Format(.Cells(ze, 18).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Nmin60-90").Range.Text = Format(.Cells(ze, 19).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Nmin").Range.Text = Format(.Cells(ze, 20).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("NabschlagHumus").Range.Text = Format(.Cells(ze, 21).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Gemüsevorkultur").Range.Text = .Cells(ze, 22).Value
    wd.ActiveDocument.Bookmarks("NabschlagVorkultur").Range.Text = Format(.Cells(ze, 23).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("NkorrekturAbfuhr").Range.Text = Format(.Cells(ze, 24).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("NkorrekturEinarbeitung").Range.Text = Format(.Cells(ze, 25).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Vorfrucht").Range.Text = .Cells(ze, 26).Value
    wd.ActiveDocument.Bookmarks("NabschlagVorfrucht").Range.Text = Format(.Cells(ze, 27).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Zwischenfrucht").Range.Text = .Cells(ze, 28).Value
    wd.ActiveDocument.Bookmarks("NabschlagZwischenfrucht").Range.Text = Format(.Cells(ze, 29).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("NabschlagorgDüngungVorjahre").Range.Text = Format(.Cells(ze, 30).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("Nbedarfswert").Range.Text = Format(.Cells(ze, 31).Value, "#,##0.0")
    wd.ActiveDocument.Bookmarks("80Nbedarfswert").Range.Text = Format(.Cells(ze, 32).Value, "#,##0.0")


    'im Word-Format speichern
    'wd.ActiveDocument.SaveAs2 Filename:=vPath_b & myFile, FileFormat _
    :=wdFormatXMLDocument, LockComments:=False, Password:="", _
    AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
    EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
    :=False, SaveAsAOCELetter:=False, CompatibilityMode:=15

    'im pdf-Format speichern
    wd.ActiveDocument.ExportAsFixedFormat OutputFileName:=spath & myFile, _
    ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
    wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
    Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
    CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
    BitmapMissingFonts:=True, UseISO19005_1:=False

    'hier: Datum in Spalte H löschen
    .Cells(ze, 9) = ""
    'und Datum in Spalte L rot färben
    .Cells(ze, 12).Font.Color = vbRed

    End If
    Next
    End With

    'wd.Application.Visible = True
    'wd.Application.WindowState = wdWindowStateMaximize
    'wd.Application.ActiveWindow.ActivePane.View.Zoom.PageFit = wdPageFitBestFit
    'wd.Application.Activate
    wd.Application.Quit savechanges:=False
    Application.StatusBar = "Bereit"
    End Sub
     
  2. Gerhard H Erfahrener User
    Hallo Jörg,

    die Fehlermeldung besagt, dass es irgendein Objekt nicht gibt. Dein Hinweis, wann das passiert, lässt mich vermuten, dass es sich um irgendeine der zahlreichen Bookmarks in deinem Dokument handelt (vielleicht ist sie auch nur im Code anders benannt als im Dokument -> Tippfehler).

    Das bleibt aber nur eine Vermutung,
    • so lange man nicht weiß, in welcher Codezeile genau das passiert
    • so lange man die Beratung.dotx nicht hat (zippe sie und lade sie dann hoch)
    • so lange man deinen Code in der Excelmappe nicht testen kann, weil er mit Kennwort geschützt ist.
     
    Gerhard H, 31. Dezember 2022
    #2
  3. Jörg B Neuer User
    Hallo Gerhard
    Sorry das Passwort hatte ich vergessen rauszunehmen. Ich habe die Beratung.dotx gezippt. Sollte jetzt alles zugänglich sein.
    Der Fehler tritt immer in der ersten Zeile der Bookmarks auf. Ich habe den Code abgewandelt schon einmal für eine andere Datei mit anderen Bookmarks und da funktioniert er. Ich finde aber nicht den Fehler warum er hier nicht funktioniert.
    Schreibweise ... mehrfach kontrolliert. Und wenn ich in die Beratung.dotx gehe und mir die Serienbriefe anschaue funktioniert auch das alles.
     
    Jörg B, 1. Januar 2023
    #3
  4. Gerhard H Erfahrener User

    kleines Problem beim erstellen von serienbriefen per vba

    Hallo Jörg,

    die Code in der Excelmappe ist immer noch passwortgeschützt. Trotzdem hab ich mindestens einen Fehler gefunden: In deinem Code aus Beitrag 1 gibts diese Zeile:
    wd.ActiveDocument.Bookmarks("Datum").Range.Text =
    Aber ich finde in deiner Beratung.dotx keine Textmarke mit dem Namen "Datum" (ein gleichlautendes Seriendruckfeld dagegen schon).

    Was ich überhaupt nicht verstehe (aber vielleicht muss ich das auch nicht): Deine Beratung.dotx ist als Seriendruck konzipiert und funktioniert deiner Aussage zufolge auch. Dein Makro schreibt - soweit ich es nachvollziehen konnte - noch mal genau die selben Einträge in die Textmarken vor den Seriendruckfeldern? Wozu das?
     
    Gerhard H, 1. Januar 2023
    #4
  5. Jörg B Neuer User
    Hallo Gerhard

    jetzt sollte es aber funktionieren. Sorry. Ich bin noch immer in den Anfangsschuhen mit den Makros.
    Das Datum ist bei der Beratung.dotx auch das Datum des Briefes.
    Kann das mein Problem sein das ich keine Seriendruckfelder brauche sondern nur Textmarken und ich das beim umschreiben des Makros nicht richtig gemacht habe?
     
    Jörg B, 1. Januar 2023
    #5
  6. Gerhard H Erfahrener User
    Hallo Jörg,

    "Kann das mein Problem sein das ich keine Seriendruckfelder brauche sondern nur Textmarken und ich das beim umschreiben des Makros nicht richtig gemacht habe?"

    Der Seriendruck läuft bei mir fehlerlos durch. Wenn er all das tut, was du willst ( und das kannst nur du beurteilen),würde ich lieber auf das Makro verzichten. Soweit ich das beurteilen kann, hast du, wenn du sowohl den Seriendruck ausführst, als auch das Makro, alle Einträge doppelt.


    Trotzdem hab ich dir zur Verdeutlichung des Fehlers nochmal ein Bild angehängt. Es bebildert nur, was ich im letzten Beitrag schrieb. Es gibt keine Textmarke "Datum". Ein Seriendruckfeld ist keine Textmarke. Wenn du die Makro-Schiene also weiter verfolgen willst, verpass deiner Word-Vorlage die nötige Textmarke.

    Deine Excelmappe fass ich übrigens nicht mehr an. Es hagelt bei mir Sicherheitswarnungen aller Art, die ich nicht beurteilen kann.
     
    Gerhard H, 1. Januar 2023
    #6
  7. Jörg B Neuer User
    Hallo Gerhard
    vielen Dank.
    Ich probiere es dann erst mal mit dem Seriendruck ohne das Makro.
    Das mit den Textmarken werde ich auch probieren.
    Mal sehen was besser läuft.
    Das mit den Sicherheitswarnungen bei der Exceldatei tut mir Leid, ich kann nicht sagen wo dieses Problem herkommt, da ich keine Sicherheitswarnungen bekomme.
     
    Jörg B, 1. Januar 2023
    #7
Thema:

kleines Problem beim erstellen von serienbriefen per vba

Die Seite wird geladen...
  1. kleines Problem beim erstellen von serienbriefen per vba - Similar Threads - Problem erstellen serienbriefen

  2. Bericht mit Datumsfilter über Formular erstellen PROBLEM

    in Microsoft Access Hilfe
    Bericht mit Datumsfilter über Formular erstellen PROBLEM: Hallo Leute, ich habe eine Datenbank aus welcher ich gerne bestimmte Datensetze aus einem bestimmten Zeitraum in ein Bericht frucken möchte. dafür habe ich zwei Textefelder auf dem Formular...
  3. Problem beim erstellen eines Diagrammes in Excel

    in Microsoft Excel Hilfe
    Problem beim erstellen eines Diagrammes in Excel: Guten Tag, ich habe eine Tabelle mit zwei Spalten: Einmal Spieldauer und Einmal Alter. Ich würde mir mit Excel gerne eine Tabelle erstellen, bei der auf der einen Achse das Alter, auf der anderen...
  4. Problem bei einer Array Erstellung

    in Microsoft Excel Hilfe
    Problem bei einer Array Erstellung: Hallo zusammen, ich habe mal eine Frage zu Arrays. Mein Ziel ist es ein eindimensionales Array, also eine Liste, mit verschiedenen Dateipfaden zu befüllen, damit dieses Array durch ein anderes...
  5. Problem beim Erstellen eines Zufallsgenerators

    in Microsoft Excel Hilfe
    Problem beim Erstellen eines Zufallsgenerators: Hallo zusammen, habe das Forum mehrfach durchsucht, aber leider keine passende Lösung für mein Problem gefunden. Ich habe einen Datensatz bestehend aus 140 Namen und jeweils dazugehörigen...
  6. Spezielles Kresidiagramm erstellen

    in Microsoft PowerPoint Hilfe
    Spezielles Kresidiagramm erstellen: Hallo folgende Frage : möchte gerne ein Kreisdiagramm erstellen mit 5 "Stücken" und innerhalb diesen soll es zur mitte zulaufend 3 Kategorien geben die jeweils farblich durchgehend hervorgehoben...
  7. Problem bei der Erstellung zweier Formeln

    in Microsoft Excel Hilfe
    Problem bei der Erstellung zweier Formeln: Hallo, irgendwie finde ich keine Lösung bzw. Lösungsansatz für zwei abhängige Probleme. Ich versuche immer noch ein Auswertetool zu bauen wo die Ergebnisse in einer Grafik darstellt werden. Nun...
  8. Problem Grafik mit ppt erstellen, als jpg oder pdf speichern

    in Microsoft PowerPoint Hilfe
    Problem Grafik mit ppt erstellen, als jpg oder pdf speichern: Hallo liebe User, ich habe folgendes Problem und hoffe, dass ihr helfen könnt: Ich möchte gerne mit Power Point eine Grafik erstellen. Aus mehreren Bausteinen (Quadrate, Linien, Textfelder)...
  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