Supportnet Computer
Planet of Tech

Supportnet / Forum / Textverarbeitung

Makro - Wie kann ich diesen Arbeitsgang automatisieren





Frage

Tach, ich habe einen Serienbrief, wo ich jeden einzelnen Brief in einer extra Datei speichern möchte. Ich habe ein Makro aufgezeichnet, das aber nicht ganz funktioniert. Wenn ich die schritte manuel mache sieht das so aus. Doc makieren -> kopieren -> neues Doc -> einfügen -> speichern unter -> neues Doc schließen -> im Serienbrief zum nächsten Datensatz gehen ... und von vorn. In meinem Makro sieht das dann aber folgendermaßen aus. Sub Makro2() ' ' Makro2 Makro ' Makro aufgezeichnet am 12.06.02 von Marco Benien ' Selection.WholeStory Selection.Copy Documents.Add DocumentType:=wdNewBlankDocument Selection.Paste ChangeFileOpenDirectory "C:\WINDOWS\Desktop\Profiling\" ActiveDocument.SaveAs FileName:="BenineMarcoWohnort AA.doc", FileFormat:= _ wdFormatDocument, LockComments:=False, Password:="", AddToRecentFiles:= _ True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:= _ False, SaveNativePictureFormat:=False, SaveFormsData:=False, _ SaveAsAOCELetter:=False ActiveWindow.Close ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord End Sub Das eine Problem ist, daß er das immer unter "BenineMarcoWohnort AA.doc" abspeichert und nicht wie wenn ich das Manuel mache und dem jeweiligen namen. Hier für brauch ich irgendwie ne variable. Außerdem soll das Makro den Vorgang automatisch bis zum letzten Datensatz wiederholen und dann auf hören. Wer hat ne Hilfe zu diesen beiden Problemen? Malle

Antwort 1 von Guenter

Hallo Malle,

leider kenne ich mich mit Serienbriefen nicht aus, aber Du hast schon recht, man braucht für den Filenamen zum speichern eine Variable.
Wenn der Filename in Deinem Text immer an der gleichen Stelle des Dokuments vorhanden ist, dann kannst Du ein Makro aufzeichnen:
Gehe mit den Pfeiltaten an die Stelle, wo Dein Filename steht, markiere und kopiere, dann speichern unter, dann einfügen.
Dieses Makro kannst Du dann in Deins einbauen.

Zur zweiten Frage: vielleicht funktioniert das mit einer For/Next Schleife mit der Anzahl der Datensätze.

Hoffentlich kommst Du weiter??

Gruß
Günter

Antwort 2 von malle

Das habe ich anscheinend nicht kapiert. Anstatt dem Namen soll er den Inhalt z.b. einer Textmarke nehmen. Richtig? Z is das kopliziert. Vielleicht noch ne Idee?

Malle

Antwort 3 von malle

Wie können denn alternative Variablen aussehen? Kann ich einzelne Felder aus einer Exceltabelle angeben und er nimmt dann jedes mal ein Feld tiefer, o.ä.?
Wichtig is halt, das irgendwas anderes als "FileName:="BenineMarcoWohnort AA.doc" im script steht.

Hüüüüüüüüülfe

Malle

Antwort 4 von malle

Gibt es nicht sowas für bookmark und Word?
Filname$ = Cells(1, 1).FormulaActiveWorkbook.SaveAs FileName:="C:\DATEN\StangeA\" + Filname$ + ".xls", FileFormat:= _xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _, CreateBackup:=False

Antwort 5 von Marie

Probier doch mal folgendes:
Serienbrief ausführen,
in diesem dann jeweils eine Seite weiterblättern und den DateiNamen immer aus demselben AdressFeld entnehmen. Wenn ich Deine Frage richtig verstanden habe müsste das gehen??

Gruß Marie

Antwort 6 von malle

Das hat leider nix genütz er schreibt immer noch "FileName:="BenineMarcoWohnort AA.doc"

Menno :-(

Malle

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


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: