Serienbrief Makro

#0
18.09.2011, 13:17
Member

Beiträge: 180
#1 Ich habe für einen Serienbrief in Word 2007 Makros erstellt:

Automatisches Zusammenführen der Dokumente beim Öffnen:

Code

Attribute VB_Name = "NewMacros"
Sub Datasource()
Attribute Datasource.VB_ProcData.VB_Invoke_Func = "Project.NewMacros.Datasource"
'
' Datasource Makro


Sub AutoOpen()
    ActiveDocument.MailMerge.OpenDataSource Name:= _
        "G:\G-ALK\Vorlagen\Allgemein\Adressenerfassung zu Erstbrief.xls", _
        ConfirmConversions:=False, ReadOnly:=False, LinkToSource:=True, _
        AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", _
        WritePasswordDocument:="", WritePasswordTemplate:="", Revert:=False, _
        Format:=wdOpenFormatAuto, Connection:= _
        "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=G:\G-ALK\Vorlagen\Allgemein\Adressenerfassung zu Erstbrief.xls;Mode=Read;Extended Properties=""HDR=YES;IMEX=1;"";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Engine Type=35;Jet" _
        , SQLStatement:="SELECT * FROM `Tabelle1$`", SQLStatement1:="", SubType:= _
        wdMergeSubTypeAccess
    With ActiveDocument.MailMerge
        .Destination = wdSendToNewDocument
        .SuppressBlankLines = True
        With .Datasource
            .FirstRecord = wdDefaultFirstRecord
            .LastRecord = wdDefaultLastRecord
        End With
        .Execute Pause:=False
    End With
End Sub
'



Felder automatisch updaten:

Code

Attribute VB_Name = "Fields"
Sub Update()
'
' Fields.Update Makro
'
'
Sub AutoOpen()
  Dim oStory As Range
  Application.ScreenUpdating = False
  Application.DisplayAlerts = wdAlertsNone
  For Each oStory In ActiveDocument.StoryRanges
    oStory.Fields.Update
    While Not (oStory.NextStoryRange Is Nothing)
      Set oStory = oStory.NextStoryRange
      oStory.Fields.Update
    Wend
  Next
  Application.DisplayAlerts = wdAlertsAll
  Application.ScreenUpdating = True

End Sub


Wenn ich beim Drucken des Serienbriefs festlege, dass ich nur gewisse Seiten will, werden immer alle Dokumente gedruckt.

Woran liegt das?
Seitenanfang Seitenende
20.09.2011, 11:35
Member

Themenstarter

Beiträge: 180
#2 Ist es möglich, mit einem Makro zu bewirken, dass nicht der ganze Serienbrief, sondern lediglich eizelne Seiten gedruckt werden?

Wenn ja, mit welchem Code lässt sich das am besten realisieren?
Seitenanfang Seitenende
20.09.2011, 11:59
Moderator
Avatar joschi

Beiträge: 6466
#3 Da das Makro nicht erraten kann, welche Seiten nun gedruckt werden sollen, muss der Anwender schon die Möglichkeit haben einen Wert einzugeben.
Bitte keine weitere Threads zu diesem Thema eröffnen.
__________
Durchsuchen --> Aussuchen --> Untersuchen
Seitenanfang Seitenende
20.09.2011, 12:16
Member

Themenstarter

Beiträge: 180
#4 Gibt es die Möglichkeit, dass per Tastenkombination ein Dialogfeld erstellt wird, in dem die zu druckenden Seiten eingegeben werden können?
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: