Hallo zusammen,
ich bin neu hier, war bislang nur stiller Mitleser und habe mich jetzt wegen dem nachfolgenden Problem angemeldet.
Zur Problemlösung habe ich auch schon hier im Forum gestöbert und auch gegoogelt, aber nicht so richtig was gefunden.
Zum Problem: Es geht um den dynamischen Druckbereich.
Ich habe eine Calc-Tabelle, welche aus einer anderen Anwendung geöffnet und dann mit Daten gefüllt wird. Grundsätzlich besteht das Problem aber auch ohne die externe Anwendung, wenn ich die Datei einfach nur selber öffne.
Ich habe diese Funktion bei meinen Recherchen gefunden unter Meine Makros -> Standard ->Module1 eingefügt:
Code: Alles auswählen
Function PRINTAREA(StartSpalte, StartZeile, EndSpalte, EndZeile)
Dim Druckbereich(0) as new com.sun.star.table.CellRangeAddress
Druckbereich(0).StartColumn = StartSpalte
Druckbereich(0).StartRow = StartZeile
Druckbereich(0).EndColumn = EndSpalte
Druckbereich(0).EndRow = EndZeile
if not isnull(ThisComponent.currentcontroller) then
With ThisComponent.currentcontroller.activeSheet
.setPrintareas(Druckbereich())
End With
end if
End Function
Der Aufruf erfolgt aus dem Tabellenblatt „Test“. In der Zeile A2 steht =PRINTAREA(0;0;9;A1-1)
In A1 steht die Anzahl der Zeilen die gedruckt werden sollen.
Beim Öffnen der Datei(selber oder über die ex. Anwendung) erfolgt diese FM:
BASIC-Laufzeitfehler.
Eigenschaft oder Methode nicht gefunden: currentcontroller.
Wenn ich die Funktion direkt in die Datei packe, also unter Dateiname.ods → Standard ->Module1 kommt zwar keine Fehlermeldung, aber der dynamische Druckbereich wird nicht gesetzt.
Wer kann mir kurz erklären, was ich falsch mache?