Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 7480 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 ..
Ähnliche Inhalte
Microsoft Office
gelöst Serienbrief - alternative Dateiformate (3)

Frage von Nagus zum Thema Microsoft Office ...

Microsoft Office
gelöst Automatisch entscheiden ob prozentual oder fest anzahl von Datensätze (7)

Frage von hugothemagpie zum Thema Microsoft Office ...

Microsoft Office
LibreOffice Serienbrief Grafik

Frage von BAMA1971 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

Frage von udobec zum Thema LAN, WAN, Wireless ...