Macro für Datenauswahl bei Serienbrief

Diskutiere und helfe bei Macro für Datenauswahl bei Serienbrief im Bereich Microsoft Office im Windows Info bei einer Lösung; Hallo zusammen Wir verwenden Serienbriefe um Etiketten zu drucken. Das Layout der Etikette ist immer gleich, die Daten werden durch die Datenquelle... Dieses Thema im Forum "Microsoft Office" wurde erstellt von RetoFelix, 2. Januar 2017.

  1. RetoFelix
    RetoFelix Gast

    Macro für Datenauswahl bei Serienbrief


    Hallo zusammen

    Wir verwenden Serienbriefe um Etiketten zu drucken. Das Layout der Etikette ist immer gleich, die Daten werden durch die Datenquelle definiert. Mittlerweile gibt es so viele, zum Teil ähnliche, Datensätze, dass die Auswahl des gewünschten Datensatz mühsam ist und oft der Falsche gedruckt wird.

    Nun habe ich die Idee umgesetzt, dass man über eine Verknüpfung automatisch den gewünschten Datensatz öffnen kann.

    Dazu habe ich Makros geschrieben, die die Aufrufparameter von WinWord auswerten und damit den gewünschten Datensatz sucht.

    Dies funktioniert bis auf folgendes Problem wie gewünscht.

    Wird so die gewünschte Etikette mit dem gewünschten Datensatz geöffnet, werden anschliessend die Daten nicht mehr aktualisiert, wenn im Reiter Sendungen ein anderer Datensatz angewählt wird.

    Erst durch manuelles aktualisieren (CTRL+A, F9) oder durch ausdrucken werden die Daten aktualisiert.


    Kennt jemand eine Lösung wie ich dies beheben kann?


    Im folgenden ist der Code.

    Aufgerufen wird er mit:


    "%ProgramFiles(x86)%\Microsoft Office\Office14\WINWORD.EXE" Etikette.docm /mItemSelect /?Item1=3


    Item1 ist das Seriendruckfeld und 3 ist der Wert der gesucht wird.


    Declare Function libLStrCpyN Lib "kernel32" Alias "lstrcpynA" (ByVal DestString As String, ByVal SourcePointer As Long, ByVal MaxLen As Long) As Long
    Declare Function libStrLen Lib "kernel32" Alias "lstrlenA" (ByVal SourcePointer As Long) As Long
    Declare Function libGetCommandLine Lib "kernel32" Alias "GetCommandLineA" () As Long

    Public Sub ItemSelect()
    Dim strCommandLine As String
    strCommandLine = GetCommandLine
    Dim lPos As Long
    lPos = InStr(strCommandLine, "/?")
    If (0 < lPos) Then
    Dim strArg As String
    strArg = Mid(strCommandLine, lPos + 2)

    lPos = InStr(strArg, " ")
    If (0 < lPos) Then
    strArg = Left(strArg, lPos - 1)
    End If
    lPos = InStr(strArg, "=")
    If (0 < lPos) Then
    Dim astrArg() As String
    astrArg = Split(strArg, "=", 2)
    Call dataSelect(astrArg(LBound(astrArg)), _
    astrArg(UBound(astrArg)))
    End If
    End If
    End Sub

    Private Function GetCommandLine() As String
    'Get a pointer to process commandline as Long
    Dim ptrCommandLine As LongPtr
    ptrCommandLine = libGetCommandLine
    If (0 < ptrCommandLine) Then 'GetCommandLine ok
    Dim strBuffer As String
    Dim lBufferLength As Long
    'Get a length of the command line using Long pointer
    'Returns the length without the zero terminating char
    lBufferLength = libStrLen(ptrCommandLine)

    If (0 < lBufferLength) Then
    'Allocate a space for the command line
    strBuffer = Space(lBufferLength + 1)

    'Copy the command line to a buffer using Long + String pointers.
    ptrCommandLine = libLStrCpyN(strBuffer, ptrCommandLine, lBufferLength + 1)

    'The copy SHOULD be OK. Zero means some error, not enough of space
    If (0 < ptrCommandLine) Then 'lstrcpyn
    'Remove the zero terminator from the copied string
    Dim lPosZero As Long
    lPosZero = InStr(strBuffer, Chr$(0))
    If (0 < lPosZero) Then
    strBuffer = Left(strBuffer, lPosZero - 1)
    End If
    GetCommandLine = strBuffer
    End If
    End If
    End If
    End Function


    Private Function dataSelect(strField As String, _
    strValue As String)

    Dim doc As Document
    Set doc = ActiveDocument

    Select Case doc.MailMerge.MainDocumentType
    Case wdCatalog ' 3
    Case wdDirectory ' 3
    Case wdEMail ' 4
    Case wdEnvelopes ' 2
    Case wdFax ' 5
    Case wdFormLetters ' 0
    Case wdMailingLabels ' 1
    Case wdNotAMergeDocument ' -1
    Exit Function
    Case Else
    Exit Function
    End Select

    doc.MailMerge.DataSource.ActiveRecord = wdFirstRecord
    doc.MailMerge.DataSource.FindRecord _
    Field:=strField, _
    FindText:=strValue
    doc.Saved = True
    End Function
     
  2. Andreas_SL Win User

    Macro für Datenauswahl bei Serienbrief

    Hallo RetoFelix,

    leider können wir dir bei deinem Anliegen nicht helfen, ich würde dich bitte es in unserem

    Expertenforum MSDN
    zu probieren. Die Kollegen dort werden dir mit Sicherheit kompetent helfen!

    Trotzdem beste Grüße!
  3. Lisa Wilke-Thissen Win User

    Word 2016 Serienbrief mit INCLUDEPICTURE

    Hallo,
    <br />eine Möglichkeit: das IncludePicture-Feld im Hauptdokument in einem Textfeld zu platzieren, das mit Layout "Vor den Text" formatiert und wunschgemäß positioniert ist.
    <br />Im Serienbrief müsste man per Makro die Grafiken aktualisieren: Macro – Update All Fields in Word Document (thedoctools.com)
    <br />Sind die Bilder im fertigen Serienbrief "Mit Text in Zeile" positioniert und sollen das Layout "Vor den Text" erhalten, müsste die Feldverknüpfung aufgehoben und für die so entstandenen Grafiken das Layout geändert werden.
    <br />Viele Grüße
    <br />Lisa
    <br />
  4. Gitti99 Win User

    Excel 2010: Mehrere abhängige Dropdown

    Hallo Claus,

    danke für die Antwort, schaffe es erst jetzt da wieder weiterzumachen...

    Ich komme damit leider nicht ans Ziel, weil mein Aufbau etwas anders ist... Noch andere Ideen?

    Ich probiere sonst über VBA die Daten mittels Autofilter auszuwählen, um so jedes Mal eine neue - dynamische - Datenauswahl anzuzeigen. Mal sehen ob das geht...

    lg
  5. FrankSchmidtborn Win User

    Nach dem letzten Update von Office 365 Personal kommt eine Fehlermeldung in EXEL betreffend die Zwischenablage

  6. Basti09 Win User

    Bstimmtes Wort in Tabelle mit verschiedenen Sätzen farbig makieren

    Hallo Claus,

    danke das du mir so gut hilfst ! Ich bekomme das nicht hin und ich muss auch sagen, das ich der absolute neuling auf dem Gebiet bin. Wäre es möglich, dass du dir mal meine Arbeitsmappe anschaust ? Wenn ich den Code über Macro einfüge dann kann er die Arbeitsmappe
    nur ohne Macro speichern ?

    Bin gerade leicht verwirrt !

    LG

    Basti
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

Macro für Datenauswahl bei Serienbrief - Microsoft Office

Die Seite wird geladen...

Macro für Datenauswahl bei Serienbrief - Similar Threads - Macro Datenauswahl Serienbrief

Forum Datum

Keine Erweiterung der Datenauswahl für Diagramme in Excel auf Mobilgeräten?

Keine Erweiterung der Datenauswahl für Diagramme in Excel auf Mobilgeräten?: Hallo,warum kann die Datenauswahl bei bestehenden Diagrammen nicht nachträglich erweitert werden? Mobilgeräte mit iPadOS und Android.Gemeint ist keine neue Datenreihe, sondern nur schon vorhandene...
Microsoft Office 5. Februar 2023

VBA und Macro

VBA und Macro: Hallo liebe Community!ich habe eine Frage und zwar: Wo liegt ist der unterschied zwischen VBA und Macro?Also ich habe es so verstanden, dass man VBA verwendet, wenn man sozusagen den ganzen...
Microsoft Office 19. August 2021

Macro shift+F3

Macro shift+F3: shift+F3 hat früher den schnellen Wechsel Groß-Klein-Anfanggroß-Schreibung ermöglicht. In Office 365/Word ist das weg und ich finde leider nichts derartiges mehr. Kann mir jemand weiter helfen?...
Microsoft Office 5. Januar 2021

MS Word macro

MS Word macro: Hi there, I would like to write a WORD macro that sends words to an API parallel to typing. Is that possible? A similar mechanism could possibly underly the MS Word spell checker. Is there any...
Microsoft Office 14. September 2020

Serienbrief

Serienbrief: Ich habe auf meinem PC Office 2016 installiert. Im Dezember 2017 habe ich noch mit meinen Seriendokumenten gearbeitet. Seit 2018 kann ich auf einmal meine Dokumente nicht mehr mit den...
Microsoft Office 6. Februar 2018

Macro Signing

Macro Signing: Hello We are currently trying to improve the Security of our Office Products. One step in this will be enabling Digital Signage on all of our Macros. There's the issue, we have currently...
Microsoft Office 22. November 2016

Excel Macro erstellen

Excel Macro erstellen: Hallo zusammen, ich habe nun etliche Foren durchlesen und kann leider keine Lösung für mein Problem finden. Ich würde gerne ein Macro erstellen welches mir die Zeile löscht bei der von Antwort 1...
Microsoft Office 4. Oktober 2016
Macro für Datenauswahl bei Serienbrief solved
  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.