Supportnet Computer
Planet of Tech

Supportnet / Forum / Textverarbeitung

Makro in Word97 für das Speichern von Serienbriefen





Frage

Guten Tag zusammen. Stehe hier vor einem echten Problem und hoffe das man mir hier weiterhelfen kann ! Also folgendes: Ich habe ein Word Dokument bzw einen Serienbrief bestehend aus 140 Seiten. Jede Seite holt sich Texte oder Daten aus einer Access-Datenbank (zB mit { if { MERGEFIELD Daten01 } <> "" " {MERGEFIELD Daten01 }" ""} ) Jede Seite hat ausserdem eine Art Laufnummer bzw eine Dokument-Nummer die sich die jeweilige Seite auch aus der Datenbank holt (sie nennt sich in der Datenbank MBNR). Jetzt brauche ich ein makro was Automatisch jede Seite "ALLEINE" aberspeichert und als Dokument name die Laufnummer benutzt. zB wenn die Laufnummer 1242321 = 1242321.doc Das Makro soll nur diese eine Seite speichern und dann zu der nächsten springen und dort dasselbe machen...und dann wieder zur nächsten so das ich am ende die 140 Seiten als seperate .doc Dokumente vorliegen habe. Habe es hiermit versucht: Sub test() Dim nName As String, Pfad As String nName = "MBNR" Pfad = "C:\Daten\temp\blah\" With ActiveDocument.MailMerge .DataSource.ActiveRecord = wdLastRecord anzahl = .DataSource.ActiveRecord flag = False For Each x In .DataSource.DataFields If x.Name = nName Then flag = True Exit For End If Next .Destination = wdSendToNewDocument For i = 1 To 10 ' anzahl .DataSource.ActiveRecord = dsname = Pfad & "\" & _ .DataSource.DataFields(nName).Value & "_swe" & ".doc" .DataSource.FirstRecord = 1 .DataSource.LastRecord = 3 .Execute ActiveDocument.Range.Find.Execute findtext:="^b", replacewith:="" Set fs = CreateObject("Scripting.FileSystemObject") ActiveDocument.SaveAs FileName:=dsname, AddToRecentFiles:=False Next i .DataSource.FirstRecord = 1 End With End Sub Aber bei .DataSource.ActiveRecord = dsname = Pfad & "\" & _ .DataSource.DataFields(nName).Value & "_swe" & ".doc" bricht er immer ab und meldet einen laufzeitfehler Brauche echt hilfe bin hier voll am verzweifeln =/ Vielen dank schonmal für die hilfe !!!!

Antwort 1 von Denjo2063

habe den fehler selber gefunden war ein fehler der groß und kleinschreibung.... =)

habe jetzt das problem das der jedes dokument was der erstellt hat geöffnet lässt.
Gibt es ein Befehl den ich am ende des Makros eintragen könnte der nach jedem Durchlauf das Dukument was er gerade erstellt hat auch wieder schließt ?

DANKE

Antwort 2 von Guenter

Hallo,

hast Du mal versucht, ein Makro aufzuzeichnen, was ein Dokument schließt.
Das sollte doch gehen, oder?

Gruß
Günter

Antwort 3 von Denjo2063

habe es schon herausgefunden mit

ActiveDocument.ActiveWindow.Close SaveChanges:=wdSaveChanges

jetzt benötige ich eine Abfrage in VB...es soll sich ein Eingabefeldfenster öffnen mit einer bitte eine Zahl einzugeben....habe das jetzt mit InputBox gemacht aber da steht jetzt immer nur Wahr oder Falsch anstatt dem Text

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: