Afdruk samenvoegen, afzonderlijke documenten naam meegeven

Status
Niet open voor verdere reacties.

mijemo

Gebruiker
Lid geworden
25 aug 2014
Berichten
15
Goedemiddag,

Ik heb via Word2010 Afdruk Samenvoegen een brief gemaakt voor diverse bedrijven.
Via een document splitter ( via inter/dit forum gevonden ) heb ik het samenvoegdocument kunnen splitsen in afzonderlijke documenten.
Nu wil ik de bestandsnamen van de documenten dynamisch laten aanmaken.

Ze krijgen nu allemaal dezelfde naam, maar met een volgnummer.
Ik gebruik onderstaande macro. De documenten heten nu Intranetbericht1, Intranetbericht2, Intranetbericht3, etc.
In de tekst van het document staat op regel 8 de bedrijfsnaam. In plaats van Intranetbericht1 etc, wil ik de bedrijfsnaam als documentnaam hebben.
Hoe doe ik dat?

Sub Splitter()

' splitter Macro
' Macro created by Doug Robbins to save each letter created by a mailmerge as a separate file.
Dim Letters As Integer, Counter As Integer
Dim DocName As String, sDoc As String

sDoc = "intranetbericht "

Letters = ActiveDocument.Sections.Count
Selection.HomeKey Unit:=wdStory
Counter = 1
While Counter < Letters
DocName = sDoc & LTrim$(Str$(Counter))
ActiveDocument.Sections.First.Range.Cut
Documents.Add
Selection.Paste
ActiveDocument.Sections(2).PageSetup.SectionStart = wdSectionContinuous
ActiveDocument.SaveAs FileName:=DocName, FileFormat:=wdFormatDocument, LockComments:=False, _
Password:="", AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, _
SaveFormsData:=False, SaveAsAOCELetter:=False
ActiveWindow.Close
Counter = Counter + 1
Wend

End Sub


Vrgr
Michel
 
Graag de code opmaken met de CODE knop, dat maakt 'm leesbaar.
 
En terwijl je bezig bent om de code hierboven netjes op te maken, hier alvast een oplossing waar je dan straks naar kunt kijken :).
Code:
Sub Splitter()
'------------------------------------------------------------------------------------------------------------------
' splitter Macro
' Macro created by Doug Robbins to save each letter created by a mailmerge as a separate file.
' Adapted by OctaFish to extend Filename with 8th paragraph
'------------------------------------------------------------------------------------------------------------------
Dim Letters As Integer, Counter As Integer
Dim DocName As String, sRange As String
Dim Pad As String, sNullen As String
Dim aRange As Range
Dim aDoc As Document, aDocNew As Document
[B]Dim tmp As Variant[/B]

    DocName = "Recept "
    Pad = "H:\Temp\Word\"
    
    Set aDoc = ActiveDocument
    Letters = aDoc.Sections.Count
    For Counter = 1 To Len(Letters)
        sNullen = sNullen & "0"
    Next Counter
    sNullen = sNullen & "0"
    
    Selection.HomeKey Unit:=wdStory
    Counter = 1
    While Counter < Letters
        '-----------------------------------------------------------------------------------------------
        'Naam samenstellen op basis van nummering
        '-----------------------------------------------------------------------------------------------
        DocName = Right(sNullen & LTrim$(Str$(Counter)), Len(Letters) + 1) & "_"
        '-----------------------------------------------------------------------------------------------
        aDoc.Sections.First.Range.Cut
        Set aDocNew = Documents.Add
        Selection.Paste
        '-----------------------------------------------------------------------------------------------
        'Naam samenstellen uit 8e alinea van tekst
        '-----------------------------------------------------------------------------------------------
        With aDocNew
[B]            tmp = Split(aDocNew.Content, Chr(13))
            DocName = DocName & tmp(7)
            If Right(DocName, 1) = Chr(13) Or Right(DocName, 1) = Chr(10) Then
                DocName = Left(DocName, Len(DocName) - 1)
            End If[/B]
            '-------------------------------------------------------------------------------------------
            .Sections(2).PageSetup.SectionStart = wdSectionContinuous
            .SaveAs _
                FileName:=Pad & DocName & ".doc", _
                FileFormat:=wdFormatDocument, _
                AddToRecentFiles:=False
        End With
        ActiveWindow.Close
        Counter = Counter + 1
    Wend

End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan