Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Word Serienbrief mit Makro die Datensätze durchgehen

Frage Microsoft Microsoft Office

Mitglied: joni2000de

joni2000de (Level 1) - Jetzt verbinden

16.11.2010 um 23:57 Uhr, 7113 Aufrufe, 1 Kommentar

Hallo Admins,

ich verzweifel grad an einem Serienbrief. Hier die Fakten
Word 2003
Serienbrief als Katalog oder Verzeichnis (in der Bezeichnung ist sich MS nicht immer einig)
Datenquelle Exceltabelle
Abfrageoption Seriendruckfeld 1 = XXX
zusammenführen aller Datensätze (die natürlich der Abfrageoption entsprechen)

Da in meinem Katalog immer mehrere Datensätze zu einem Dokument zusammengefasst werden und ich dieses anschließend speichere ist die Auswahl über die Abfrageoption (das SD-Feld 1 ist das Unterscheidungskriterium für den Katalog) ein guter Weg (händisch auch kein Problem). Jetzt stellt sich mir im Makro aber die Anforderung, dass ich jeweils die Datensätze durchgehe und den Wert in SD-Feld 1 prüfe ob ich den schon hatte, wenn ja überspringen, wenn nein als neues Kriterium hinterlegen und zusammenführen, dann wieder von vorne. Genau diese Schleife über die Inhalte des SD-Feld 1 der verschiedenen Datensätze will aber nicht so wie ich will. Mit folgendem Werten sollte eine Steuerung des aktiven Datensatzes möglich sein:

wdFirstDataSourceRecord The first record in the data source.
wdFirstRecord The first record in the result set.
wdLastDataSourceRecord The last record in the data source.
wdLastRecord The last record in the result set.
wdNextDataSourceRecord The next record in the data source.
wdNextRecord The next record in the result set.
wdNoActiveRecord No active record.
wdPreviousDataSourceRecord The previous record in the data source.
wdPreviousRecord The previous record in the result set.

Leider kann ich dabei keine Logik erkennen (z. B. wird vom 1. Datensatz auf den 2. hochgezählt mit wdNextRecord bzw. wdNextDataSourceRecord (was meiner Meinung nach besser passen würde, da ja nicht die selektierten Datensätze bearbeitet werden müssen sondern alle) aber vom 2. wird dann nicht mehr weiter gezählt.

Alles andere davor und danach habe ich soweit fertig, nur der Teil will einfach nicht. Der Code ist unten. So habe ich ihn auch in einer einfachen Datei getestet. Die Ermittlung der Anzahl der Datensätze funktioniert, jedoch muss ich den Wert * -1 rechnen??

Ich hoffe da auf jemanden mit mehr Durchblick.

Danke für eure Hilfe
Gruß Joni

01.
Sub test12() 
02.
Dim ANZAHLRECORDS As Variant 
03.
Dim i As Variant 
04.
 
05.
i = 1 
06.
With ActiveDocument.MailMerge 
07.
    ANZAHLRECORDS = wdLastDataSourceRecord * -1 
08.
   .DataSource.ActiveRecord = wdFirstDataSourceRecord 
09.
   MsgBox .DataSource.ActiveRecord 
10.
   Do 
11.
      With .DataSource 
12.
         .FirstRecord = 1 
13.
         .LastRecord = ANZAHLRECORDS 
14.
      End With 
15.
 
16.
      If i < ANZAHLRECORDS Then 
17.
         i = i + 1 
18.
         .DataSource.ActiveRecord = wdNextDataSourceRecord 
19.
         MsgBox .DataSource.ActiveRecord 
20.
      Else 
21.
         Exit Do 
22.
      End If 
23.
   Loop 
24.
End With 
25.
End Sub
Mitglied: joni2000de
24.11.2010 um 13:59 Uhr
Hi,

da bin ich wieder. Das Problem ist gelöst. Um die richtige Anzahl der Datensätze bzw. das richtige Hochzählen zu ermöglichen muss vorher immer die Abfrage gelöscht werden (warum??? ich habe ja festgelegt, dass die Datenquelle relevant ist und nicht die ausgewählten Datensätze; ist hat so). D. h. ich ermittle die richtigen Werte setze dann den Filter, erzeuge das Dokument, lösche den Filter und ermittle die neuen Werte, usw.

Falls es jemand hilft.

Gruß Joni
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Datenbanken
gelöst Access 2010 SQL Tabellen Datensätze einfügen (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

VB for Applications
Excel Makro zum Suchen von Spalten und exportieren in CSV (2)

Frage von Raptox zum Thema VB for Applications ...

Viren und Trojaner
gelöst Word und Excel per Mail gesperrt - Alternative? (7)

Frage von Coreknabe zum Thema Viren und Trojaner ...

Microsoft Office
gelöst Excel Makro zum Sortieren von Spalten an größeres Dokument Anpassen (2)

Frage von Rolfor zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Windows Server
SBS 2011 Standard virtualisieren (13)

Frage von HeinrichM zum Thema Windows Server ...

Backup
Datensicherung ARCHIV (11)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...