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, 7051 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft Office
Laufzeitfehler 438 bei Word und Exel-AddIns (1)

Frage von klanax zum Thema Microsoft Office ...

Windows 7
Microsoft Word - Anzeigefehler bei Scrollen

Frage von heisenberg4 zum Thema Windows 7 ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Microsoft Office
gelöst Wie kann man die Standard-Schriftart bei einfügen von Text in Word 2013 festlegen? (3)

Frage von Rene1976 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...