Seite 1 von 1

unbekannten Druckbereich per Makro löschen

Verfasst: Do, 16.03.2006 16:24
von sule1979
Hallo,

ich habe ein Makro geschrieben, welches mir ein Datenblatt per Makro in eine PDF exportiert.

Ablauf:
- Druckbereich wird festgelegt
- Export des Datenblattes in PDF
- der festgelegte Druckbereich wird gelöscht

Nun, habe ich das Problem, wenn ich per hand den Druckbereich abändere (Format - Druckbereiche - Festlegen / Hinzufügen), wird dieser dann zusätzlich zum Druckbereich des Makros addiert.

Jetzt müßte ich sicherstellen, daß im Makro alle Druckbereiche vor dem Punkt "Druckbereich wird festgelegt" gelöscht werden, doch ich schaffe es einfach nicht. ( Bitte bedenken daß ich den Druckbereich nicht kenne, also er ist variabel ! ):oops:

Kann mir einer bitte auf die Sprünge helfen ?

Danke im Vorraus

Gruß
Marius

Verfasst: Fr, 17.03.2006 00:25
von Stephan
Ablauf:
- Druckbereich wird festgelegt
- Export des Datenblattes in PDF
- der festgelegte Druckbereich wird gelöscht


ja
Nun, habe ich das Problem, wenn ich per hand den Druckbereich abändere (Format - Druckbereiche - Festlegen / Hinzufügen), wird dieser dann zusätzlich zum Druckbereich des Makros addiert.

Jetzt müßte ich sicherstellen, daß im Makro alle Druckbereiche vor dem Punkt "Druckbereich wird festgelegt" gelöscht werden, doch ich schaffe es einfach nicht. ( Bitte bedenken daß ich den Druckbereich nicht kenne, also er ist variabel ! )
ich verstehe nicht worum es konkret geht. Zunächst ist das was der erste Absatz beschreibt etwas Anderes als das Makro tut, auch soweit kein Problem, nur nach zweitem Absatz findet das vor dem Makro statt, also:

-da ist ein Druckbereich
-dann wird per Hand ein Weiterer hinzugefügt
-dann läuft das Makro

was mir bei dieser Reihenfolge unklar ist ist wieso vor dem Makro Deiner Ansicht nach bestehende Druckbereiche gelöscht werden müßten, weil ich garkeine Möglichkeit sehe per Makro Druckbereiche festzulegen (und festlegen ist nicht hinzufügen) ohne bestehende automatisch zu löschen.
Folgendes tut das beispielsweise:

Code: Alles auswählen

Sub Main 
oDoc = StarDesktop.CurrentComponent 
oSheet = oDoc.CurrentController.getActiveSheet() 
Dim oRanges(0) As New com.sun.star.table.CellRangeAddress 
Dim oRanges2() As New com.sun.star.table.CellRangeAddress 
oRanges(0).Sheet = oSheet.Rangeaddress.sheet 
oRanges(0).StartColumn = 0 : oRanges(0).StartRow = 0 
oRanges(0).EndColumn = 9 : oRanges(0).EndRow = 9 
oSheet.setPrintAreas(oRanges()) 
End Sub


somit müßtest Du zunächst erklären was Du meinst.


Gruß
Stephan