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 2003 jede seite in ein neues Dokument speichern

Frage Microsoft Microsoft Office

Mitglied: 0cool

0cool (Level 2) - Jetzt verbinden

21.06.2009, aktualisiert 17:44 Uhr, 4703 Aufrufe, 3 Kommentare

Hallo Leute,

ich soll hinkriegen, dass aus einem Bestehenden Word Dokument das mehrere Seiten hat(die Seitenzahl kann varieren), jede Seite als ein neues Dokument abgespeichert wird.
Also Seite 1 von Dokument A soll in Dokument 001 gespeichert werden, Seite 2 von Dokument A soll in Dokument 002 gespeichert werden, usw.
Dokument 001 und 002 existieren noch nicht.

Ich habe ein Makro, dass aber nur die Hälfte macht, d.h. bei Seite 1 funktioniert es, bei Seite zwei ist das Dokument leer obwohl die zweite Seite gefüllt ist, usw.

Der code des Macros ist folgender,

01.
Private Const Praefix = "Serienbrief" 
02.
 
03.
Sub ResultatDesSeriendrucksAufteilenOhneKopfUndFusszeilen() 
04.
  Dim oDoc As Document, Abschnitt As Section, nDoc As Document 
05.
  Set oDoc = ActiveDocument 
06.
  Verzeichnis = oDoc.Path 'Falls Ergebnis bereits gespeichert, dann im selben Pfad 
07.
  If Verzeichnis = "" Then 'Sonst im Standard-Dokumentenverzeichnis 
08.
    Verzeichnis = Dialogs(wdDialogToolsOptionsFileLocations).Setting 
09.
  End If 
10.
  Anz = oDoc.Sections.Count 'Für alle Abschnitte 
11.
  For i = 1 To Anz - 1 
12.
    Set Abschnitt = oDoc.Sections(i) 
13.
    Set nDoc = Documents.Add(Template:=oDoc.AttachedTemplate.FullName) 
14.
    nDoc.Content.FormattedText = Abschnitt.Range.FormattedText 
15.
    nDoc.Range.Find.Execute FindText:="^b", ReplaceWith:="" 'Abschnittwechsel suchen 
16.
    dsname = Verzeichnis & "\" & Praefix & Format(i, "0000") & ".doc" 
17.
    nDoc.SaveAs FileName:=dsname, AddToRecentFiles:=False 
18.
    nDoc.Close 
19.
  Next i 
20.
End Sub
Nun meine Frage was ist an dem Macro falsch?
Danke für eure Hilfe.


Gruß

0cool
Mitglied: Dieter-56
21.06.2009 um 18:29 Uhr
hallo,
als programmiermäßiger ungeschulter laie fällt mir aber schon mal folgende Zeile auf:

For i = 1 To Anz - 1

ich würde das so interpretieren: i = 1 to anz- 1 --> mache seite1 in doc 1 und dann schluß und aus.

nur so ein gedanke, programmierer werden mir da vielleicht widersprechen.
folgender gedanke kommt mir noch für diese zeile:

for i > 0 To Anz - > 0

probiers mal mit diesem gedanken.

dieter
Bitte warten ..
Mitglied: 76109
22.06.2009 um 00:42 Uhr
Hallo 0cool!

Also, ich habe das mal getestet und herausgefunden, dass egal wieviel Seiten ich habe, der Sections.Count und Sections.Item immer 1 ist.

Zum Ersetzen von Seitenumbrüchen:
01.
FindText:=vbFormFeed, ReplaceWith:="", Replace:=wdReplaceAll  ' Chr(12)

@Dieter_56
Die Anweisung "For i = 1 To Anz - 1" ist kein Fehler und bedeutet Schleifenzähler von 1 bis (Wert - 1)

Gruß Dieter

[Edit] Im Text hatte ich anstatt Seiten- Zeilenumbrüche geschrieben. Im Code war's aber richtig [/Edit]
Bitte warten ..
Mitglied: 0cool
25.06.2009 um 18:37 Uhr
Hey Leute,

vielen dank für eure Hilfe, aber ich bin nicht wirklich weiter, was ich vergessen habe zu sagen ist, dass auf den Blättern ein Textfeld ist, in dem alles drin steht forhandene Fußzeile soll nicht mit auf das neue Dokument übertragen werden.

Immoment ist es noch so das die Fußzeile mit übertragen wird und das Textfele nur manchmal übertragen wird.

Das Document findet ihr unter dem link http://www.computerservice-zelt.de/testen/macro.doc

Vielleicht könnt ihr mir damit noch besser helfen natürlich sind sämtliche Informationen die ich nicht veröffentlichen darf rausgenommen.

Gruß

Thorsten
Bitte warten ..
Neuester Wissensbeitrag
Router & Routing

192.168er Adresse im öffentlichen Netz

(2)

Erfahrungsbericht von visco-c zum Thema Router & Routing ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Zusammenarbeit
Als Administrator im Großraumbüro (29)

Frage von Dopamin85 zum Thema Zusammenarbeit ...

Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (22)

Frage von Driphex zum Thema Exchange Server ...

Hyper-V
HYPER V und USB (16)

Frage von Hendrik2586 zum Thema Hyper-V ...

SAN, NAS, DAS
Backupserver für KMU (14)

Frage von Leo-le zum Thema SAN, NAS, DAS ...