
Ein Umsteiger von Excel sucht Hilfe.
Für eine Tabellenvorlage habe ich ein Makro (Drucken_ohne_Leer()) erstellt, mit welchem Leerzeilen ausgeblendet werden und der Druckbereich festgelegt wird.
Code: Alles auswählen
Sub Drucken_ohne_Leer()
Dim Blatt As Object, Zeile As Integer
Dim PrintArea(2) As New com.sun.star.table.CellRangeAddress
Dim PrintProperties(0) As New com.sun.star.beans.PropertyValue
Blatt = ThisComponent.CurrentController.ActiveSheet
If Blatt.Name = "Abrechnung" Then
ThisComponent.enableAutomaticCalculation(False)
' Leere Zeilen ausblenden
For Zeile = 5 To 88
If Blatt.getCellByPosition(80, Zeile).String = "" Then Blatt.Rows(Zeile).IsVisible = False
Next Zeile
' Druckbereich festlegen -> zu druckende Seiten festlegen -> drucken
PrintArea(1).Sheet = 1 : PrintArea(0).StartRow = 0 : PrintArea(0).StartColumn = 79
PrintArea(0).EndRow = 90 : PrintArea(0).EndColumn = 88
PrintArea(2).Sheet = 1 : PrintArea(1).StartRow = 0 : PrintArea(1).StartColumn = 94
PrintArea(1).EndRow = 90 : PrintArea(1).EndColumn = 105
Blatt.PrintAreas = PrintArea()
PrintProperties(0).Name="Pages"
PrintProperties(0).Value="1-2"
ThisComponent.Print(PrintProperties())
' Alle Zeilen wieder einblenden
Blatt.Rows().IsVisible = True
Blatt.PrintAreas = PrintArea(0)
ThisComponent.enableAutomaticCalculation(True)
Else
ThisComponent.Print(PrintProperties())
End If
End Sub
Ich suche jetzt eine Möglichkeit, über ein weiteres Makro ein neues Symbol in die Symbolleiste (Funktionsleiste) hinzufügen und das Makro dieser zu zuweisen.