Probleme mit Makro Drucken

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Micha0815
Beiträge: 2
Registriert: Mi, 08.11.2006 01:18

Probleme mit Makro Drucken

Beitrag von Micha0815 »

Hallo Leute, ich habe folgendes Makro erstellt:
Option Explicit
Sub Drucken()
'Automatische Berechnung ausschalten, Script läuft so schneller
ThisComponent.enableAutomaticCalculation(False)

'Namen für Tabellen zur Verwndung im Makro festlegen
Dim oShGrund As Object, oShSteuer As Object, oShBerech As Object, oShSicher As Object, oShEinlie As Object
oShGrund = ThisComponent.Sheets.getByName("Grundangaben")
oShSteuer = ThisComponent.Sheets.getByName("Steuerbescheid")
oShBerech = ThisComponent.Sheets.getByName("Berechnung")
oShSicher = ThisComponent.Sheets.getByName("Sicherstellung")
oShEinlie = ThisComponent.Sheets.getByName("Einlieferungsanzeige")

'...

'Ausdrucken der Tabelle "Steuerbescheid" -> für die anderen Tabellen entsprechend anpassen
'Druckbereich festlegen
Dim PrintArea(0) As New com.sun.star.table.CellRangeAddress
PrintArea(0).StartRow = 0 : PrintArea(0).EndRow = 100 'Zeilen 1 bis 101
PrintArea(0).StartColumn = 0 : PrintArea(0).EndColumn = 17 'Spalten A bis I
oShSteuer.PrintAreas = PrintArea() 'Druckbereich auf Tabelle "Steuerbescheid" anwenden
'Seiteumbruch festlegen
oShSteuer.Rows(57).IsStartOfNewPage = True
'Druckeigenschaften festlegen
Dim PrintPropertie(0) As New com.sun.star.beans.PropertyValue
PrintPropertie(0).Name = "CopyCount" : PrintPropertie(0).Value = 2 'Anzahl der auszudruckenden Kopien
'Dokument drucken
ThisComponent.Print(PrintPropertie())

'...
PrintArea(0).StartRow = 0 : PrintArea(0).EndRow = 23
PrintArea(0).StartColumn = 0 : PrintArea(0).EndColumn = 8 'Spalten A bis I
oShBerech.PrintAreas = PrintArea() 'Druckbereich auf Tabelle "Berechnung" anwenden
'Druckeigenschaften festlegen

PrintPropertie(0).Name = "CopyCount" : PrintPropertie(0).Value = 4 'Anzahl der auszudruckenden Kopien
'Dokument drucken
ThisComponent.Print(PrintPropertie())

'...
PrintArea(0).StartRow = 0 : PrintArea(0).EndRow = 54 'Zeilen 1 bis 55
PrintArea(0).StartColumn = 0 : PrintArea(0).EndColumn = 8 'Spalten A bis I
oShSicher.PrintAreas = PrintArea() 'Druckbereich auf Tabelle "sicherstellung" anwenden
'Druckeigenschaften festlegen

PrintPropertie(0).Name = "CopyCount" : PrintPropertie(0).Value = 3 'Anzahl der auszudruckenden Kopien
'Dokument drucken
ThisComponent.Print(PrintPropertie())
'...

PrintArea(0).StartRow = 0 : PrintArea(0).EndRow = 48 'Zeilen 1 bis 49
PrintArea(0).StartColumn = 0 : PrintArea(0).EndColumn = 7 'Spalten A bis H
oShEinlie.PrintAreas = PrintArea() 'Druckbereich auf Tabelle "einlieferung" anwenden
'Druckeigenschaften festlegen

PrintPropertie(0).Name = "CopyCount" : PrintPropertie(0).Value = 2 'Anzahl der auszudruckenden Kopien
'Dokument drucken
ThisComponent.Print(PrintPropertie())

'...

'Automatische Berechnung wieder einschalten
ThisComponent.enableAutomaticCalculation(True)
End Sub


Leider übernimmt er nicht die Anzahl der Auszudruckenden Kopien sondern lediglich die Anzahl der beim ersten Druckbereich angegebenen Zahl.

Ich vermute einen zusammenhang mit dem Befehl "ThisComponent.Print(PrintPropertie()) "

Kann mir jemand bei dem Makro helfen, habe leider keine Ahnung von sowas...

Thx