attilla
Goto Top

Automatische aktualisierung bei Serienbriefen in Word

Hallo, bin neu in diesem Forum, hoffe ihr könnt mir weiterhelfen.

Aufgabe: Ich soll über Word 07 einen Serienbrief erstellen. Der Serienbrief soll eine Einladung sein, über eine Textbox wird der Name dargestellt.
Je nachdem wie Kurz bzw. Lang der Name ist soll er entsprechend größer bzw. kleiner gemacht werden.


Dazu hab ich den unten stehen Programmcode benutzt, was auch prima funktioniert.
Problem: Das Problem was ich habe wenn ich einen Seriendruck starte und vorher das Makro ausgeführt habe, verändert das Makro nur die
Seite die akutell geöffnet ist die restlichen bleiben unverändert.

Ziel: Ziel ist dass, das Makro für jede Seite (Einladung) ausgeführt wird beim drucken.


info: Wenn man bei Word auf <Sendungen --> Fertigstellen und zusammenführen --> einzelne Dokumente bearbeiten> geht alle Seiten aufruft und
dann erst das Makro ausführt geht das aber bei einer großen Datenbank dauert das zu lang ca. 20h.

Sub ScaleTextboxText()
Dim shp As Shape
For Each shp In ActiveDocument.Shapes
 If shp.TextFrame.HasText = True Then
  With shp
    ' erst hochskalieren, falls die Textbox nicht ausgefüllt wird  
    Do While .TextFrame.Overflowing = False
      .TextFrame.TextRange.Font.Size = .TextFrame.TextRange.Font.Size + 1
    Loop
    ' herunterskalieren, falls die Textbox überfüllt wird  
    Do While .TextFrame.Overflowing = True
      .TextFrame.TextRange.Font.Size = .TextFrame.TextRange.Font.Size - 1
    Loop
    
  End With
 End If
Next shp
End Sub

Content-Key: 172589

Url: https://administrator.de/contentid/172589

Ausgedruckt am: 29.03.2024 um 11:03 Uhr

Mitglied: GUTEfrage
GUTEfrage 02.11.2011 um 16:17:59 Uhr
Goto Top
Hallo,

warum soll der Name denn kleiner gemacht werden? Wenn ich einen Doppelnamen hätte, dann würde ich es bevorzugen, wenn dieser auch so auf der Einladung steht.

Wie wär es denn, anstatt der Textbox einen freien Platzhalter zu verwenden, der ganz "stupf" den Namen (so wie er in der Datenbank steht) an den dafür vorgesehenen Platz stellt.

Das Funktioniert sowohl bei einem Brief, als auch bei Briefumschlägen.

Dann braucht man auch kein Makro und auch nur die Daten "zusammenführen" und FERTIG.


Vielleicht hat´s ja weitergeholfen,

Gruß