Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Seriendruckdokument sortiert ausdrucken
zurück: Makro in .dot läuft nicht weiter: Zeile festlegen für das Einfügen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
björnskd
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. Okt 2009, 22:59
Rufname:

Seriendruckdokument sortiert ausdrucken - Seriendruckdokument sortiert ausdrucken

Nach oben
       Version: Office XP (2002)

Hallo VBA-Experten!

Ein externes Programm stellt mir x-beliebig viele unsortierte Datensätze
zur Verfügung, mit denen automatisch ein Serienbriefdokument
mit entsprechend vielen Seiten erstellt wird.

Jede Seite enthält einen Datensatz.

Ich würde nun gerne die jeweilige Seite auswählen & ausdrucken, dass
ich praktisch die Seiten sortiert ausgedruckt bekomme!
(Auf die DAtenquelle habe ich leider keinen Zugriff!)

Nun zu meinen Fragen:

Dadurch dass ja bereits die Serienbriefvariablen ersetzt sind, kann ich
nun nicht mehr auf die Variablen zurückgreifen, diese sortieren
um sie anschließend zu drucken! Richtig?

Ich habe mir nun eine einzeilige, 2-spaltige, unsichtbare Tabelle
eingefügt, sodass ich in der 1. Spalte den Vornamen eingesetzt bekomme,
und in der 2. Spalte den Namen.
(Damit nichts gedruckt wird, habe ich die Schriftfarbe weiss gewählt)

Nun erhalte ich soviele 1-zeilige Tabellen, wie ich Seiten habe, die auch
den Anzahl der Datensätze entsprechen!

Jetzt stelle ich mir vor, dass ich jede Tabelle mit Spalte 1 = Vorname
und Spalte 2 = Name und Tabellenindex = Seitenzahl auslese, diese
in eine Exceltabelle schreibe und diese dann nach Nachnamen zeilenweise
sortiere.

Anschließend könnte ich die Exceltabelle zeilenweise lesen und die
Seite des zugehörigen sortierten Nachnamens anspringen und drucken

Das zu Theorie... : Very Happy

Habt Ihr Ideen zum VBA-Code?

Für Hilfen wäre ich sehr dankbar!

Danke.

Gruss Björn
björnskd
Im Profil kannst Du frei den Rang ändern


Verfasst am:
09. Okt 2009, 15:09
Rufname:

AW: Seriendruckdokument sortiert ausdrucken - AW: Seriendruckdokument sortiert ausdrucken

Nach oben
       Version: Office XP (2002)

Hallo!

Ich habe mal mit dem Code angefangen!
Leider komme ich in bestimmten Passagen nicht weiter!

Code:

Sub SerienDokSortiertDrucken()
Dim Datenarray() As String
Dim i As Integer
Dim AnzahlTabellen As Integer
Dim ExcelAnwendung As Object
 
If ActiveDocument.Tables.Count = 0 Then
 MsgBox "Dokument enthält keine Tabelle."
 Exit Sub
End If
AnzahlTabellen = ActiveDocument.Tables.Count
ReDim Datenarray(1 To ActiveDocument.Tables.Count, 1 To 3)

For i = 1 To AnzahlTabellen
    'Nachname
    Eintrag = ActiveDocument.Tables(i).Cell(2, 1).Range.Text
    Datenarray(i, 1) = Left(Eintrag, Len(Eintrag) - 2)
    'Vorname
    Eintrag = ActiveDocument.Tables(i).Cell(3, 1).Range.Text
    Datenarray(i, 2) = Left(Eintrag, Len(Eintrag) - 2)
    'Seite
    Datenarray(i, 3) = i
Next i


Set ExcelAnwendung = CreateObject("Excel.Application")
ExcelAnwendung.Visible = True
ExcelAnwendung.Workbooks.Add
ExcelAnwendung.Windows(1).Activate

For i = 1 To AnzahlTabellen

'Nun soll der Inhalt des Datenarray
'in das Excelblatt eingetragen werden.

'Spalte A = Vorname    Datenarray(i, 2)
'Spalte B = Nachname   datenarray(i, 1)
'Spalte C = seite      Datenarray(i, 3)

'Hier fehlt mir leider die Syntax

Next i

'Nun soll nach Spalte B Zeilenweise sortiert werden
'Hier weiss ich auch nicht weiter?

'Jetzt würde ich den Zelleninhalt unter
'Spalte C auslesen und jede Seite
'drucken
 
'ActiveDocument.PrintOut Pages:='Spalte C
'???? geht das so?

End Sub


Vielleicht könnt ihr mir bei den Kommentaren helfen!

Vielen Dank.

Gruss Björn
Gast



Verfasst am:
09. Okt 2009, 17:03
Rufname:


AW: Seriendruckdokument sortiert ausdrucken - AW: Seriendruckdokument sortiert ausdrucken

Nach oben
       Version: Office XP (2002)

Ich komme weiter....

...jetzt fehlt nur noch das sortieren
und drucken

Hier der Code:

Code:

Sub SerienDokSortiertDrucken()
Dim Datenarray() As String
Dim i, j As Integer
Dim AnzahlTabellen As Integer
Dim ExcelAnwendung As Object
Dim ExcelWB As Object
 
If ActiveDocument.Tables.Count = 0 Then
 MsgBox "Dokument enthält keine Tabelle."
 Exit Sub
End If
AnzahlTabellen = ActiveDocument.Tables.Count
ReDim Datenarray(1 To ActiveDocument.Tables.Count, 1 To 3)

For i = 1 To AnzahlTabellen
    'Nachname
    Eintrag = ActiveDocument.Tables(i).Cell(2, 1).Range.Text
    Datenarray(i, 1) = Left(Eintrag, Len(Eintrag) - 2)
    'Vorname
    Eintrag = ActiveDocument.Tables(i).Cell(3, 1).Range.Text
    Datenarray(i, 2) = Left(Eintrag, Len(Eintrag) - 2)
    'Seite
    Datenarray(i, 3) = i
Next i


Set ExcelAnwendung = CreateObject("Excel.Application")
ExcelAnwendung.Visible = True
ExcelAnwendung.Workbooks.Add
ExcelAnwendung.Windows(1).Activate
Set ExcelWB = ExcelAnwendung.Worksheets(1)

'Bereich A bis C beschreiben
With ExcelWB
For j = 1 To AnzahlTabellen
 For k = 1 To 3
 .Cells(j, k).Value = Datenarray(j, k)
 Next k
Next j
End With

MsgBox "Jetzt sortieren"

With ExcelWB
.Range("A1:C" + AnzahlTabellen).Sort_
Key1 = .Range("B")
'Key2 = .Range("A")
End With

' Hier bekomme ich immer eine Fehlermeldeung

'Jetzt würde ich den Zelleninhalt unter
'Spalte C auslesen und jede Seite
'drucken
 
'ActiveDocument.PrintOut Pages:='Spalte C


'Arbeitsmappe schliessen
 ExcelWB.Close False
   ' Excel beenden
   ExcelAnwendung.Quit
   ' und aufräumen
   Set ExcelWB = Nothing
   Set ExcelAnwendung = Nothing
End Sub


Für Tipps wäre ich dankbar...

Björn
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word Serienbriefe: Regelfelder ausdrucken in Word 2007 1 JulesLE 537 01. Nov 2013, 16:03
Gast Regelfelder ausdrucken in Word 2007
Keine neuen Beiträge Word Serienbriefe: Word 2011 - Leere Feldfunktion, Platzhalter nicht ausdrucken 1 Paulles 676 29. Okt 2013, 18:05
Gast Word 2011 - Leere Feldfunktion, Platzhalter nicht ausdrucken
Keine neuen Beiträge Word VBA Programmierung (Makros): Steuerelemente werden falsch sortiert / Word 0 DerStephan 103 21. Jan 2013, 13:24
DerStephan Steuerelemente werden falsch sortiert / Word
Keine neuen Beiträge Word Gestaltungselemente: Textfeld nicht ausdrucken 1 lehto 1918 19. Okt 2012, 13:21
chakko Textfeld nicht ausdrucken
Keine neuen Beiträge Word Gestaltungselemente: Wie kann ich Text für Plakat über mehrere Seiten ausdrucken? 4 Merkur 1278 01. Aug 2012, 13:20
Merkur Wie kann ich Text für Plakat über mehrere Seiten ausdrucken?
Keine neuen Beiträge Word Formate: Riesen Problem beim Ausdrucken / Alles verzehrt. 1 Tobias-1809 510 21. Feb 2011, 19:49
Gregor80 Riesen Problem beim Ausdrucken / Alles verzehrt.
Keine neuen Beiträge Word Gestaltungselemente: Briefkopf (Grafik+Text) in Kopfzeile nicht ausdrucken 3 roman.pusep 2226 08. Jan 2011, 15:11
sigiru Briefkopf (Grafik+Text) in Kopfzeile nicht ausdrucken
Keine neuen Beiträge Word Gestaltungselemente: Word - Zeilen ausdrucken 4 weess_nich 1489 27. Okt 2010, 09:33
weess_nich Word - Zeilen ausdrucken
Keine neuen Beiträge Word Gestaltungselemente: Inhaltsverzeichnis- alphabetisch sortiert? 0 Gast 1235 24. Sep 2009, 09:16
Gast Inhaltsverzeichnis- alphabetisch sortiert?
Keine neuen Beiträge Word Serienbriefe: Zeichen mit Leerz. automat. in Seriendruckdokument zählen 1 zyxcat 930 14. Mai 2009, 17:14
sigiru Zeichen mit Leerz. automat. in Seriendruckdokument zählen
Keine neuen Beiträge Word VBA Programmierung (Makros): Button in Word nicht ausdrucken 1 stefanbla81 3694 11. Mai 2009, 11:52
MarcSLK Button in Word nicht ausdrucken
Keine neuen Beiträge Word Serienbriefe: Seriendruck-Dokument je nach Inhalt der Datenquelle öffnen 0 Björnskd 1534 10. Feb 2009, 11:00
Björnskd Seriendruck-Dokument je nach Inhalt der Datenquelle öffnen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: PHP Forum