Hallo Günter,
Die Fehlermeldung muss sich nicht auf den Namen "doRahmen" beziehen -
sondern kann im Extremfall auch jeden anderen Bezeichner in dieser Zeile
treffen - also auch oLOx, iLOy, iRUx, iRUy oder d. Das kann im Zweifel
auch eine intern definierte Prozedur sein!
Wenn es allerdings beim Gerhard funktioniert, liegt der Fehler wohl
woanders....
Bei mir liefert der Code im Übrigen auch keine Fehlermeldung (Win 10, LO
5.3.x) , wäre also interessant, wie Du die Funktion aufrufst?
Viele Grüße
Thomas
Am 24.10.2017 um 13:50 schrieb Günter Fritze:
Hallo zusammen!
Ich verstehe garnichts mehr: Ich habe ein Makro geschrieben, das einen
speziellen Jahreskalender in einer Tabellen-Calculation generiert. Für
die Strukturierung der Tabelle habe ich ein Makro, das um einen
Bereich eine Umrandung erzeugt. Die Bereiche werden als Namen
angegebn, z.B. "$A1:$EG5". Da die Breite der Monatstabellen variiert,
Februar, Schaltjahr,30,31 Tage, möchte ich die Angaben als Position
machen, und das geht schief. Die Funktion sieht so aus:
Sub doRahmen(sBereich As String,d As Integer)
'Sub doRahmen(iLOx As Integer,iLOy As Integer,iRUx As Integer,iRUy As
Integer,d As Integer)
Dim oZelle As Object
oDoc = ThisComponent
oSheets = oDoc.getSheets()
zahl = oDoc.getSheets().Count+1
oTab = oDoc.createInstance("com.sun.star.sheet.Spreadsheet")
oController = oDoc.CurrentController
oSheet = oController.activesheet
oZelle = oSheet.getCellRangeByName(sBereich)
' oZelle =
oSheet.getCellRangeByPosition(iLOx,iLOy,iRUx,iRUy)
Dim oLinie1 as new com.sun.star.table.BorderLine
With oLinie1
.Color = 16724991
.outerLineWidth = d
End With
Dim oRahmen as new com.sun.star.table.TableBorder
With oRahmen
.leftLine = oLinie1
.isLeftLineValid = True
.rightLine = oLinie10
.isRightLineValid = True
.bottomLine = oLinie1
.isBottomLineValid = True
.topLine = oLinie1
.isTopLineValid = True
End With
oZelle.TableBorder = oRahmen
End Sub
Es funktionert einwandfrei mit der Namensangabe z.B. mit dem Aufruf
doRahmen("$A$1:$EG$2",71)
Benutze ich die in der Prozedur auskommentierten Zeilen,
Ortsbestimmung per Position, dann kommt die Fehlermeldun : Prozedur
schon wo anders definiert???. Na schön habe ich gedacht, dann setze
ich vor das doRahmen noch ein i, also idoRahmen. Ergebnis: gleiche
Fehlermeldung. Wat nu?
doRahmen(0,0,33,1,71)
Ich würde ja akzeptieren wenn die Prozedur bei der Änderung garnicht
mehr funktionieren würde, aber die Fehlermeldung kommt schon, wenn man
einen Haltepunkt setzt.
Mein System:
Linux Mint 18.2 Sonya 64 Bit
Kernel Linux 4.8.0-53-generic, x86_64
Mate 1.18.0
Mit freundlichen Grüßen
Günter
--
Liste abmelden mit E-Mail an: users+unsubscr...@de.libreoffice.org
Probleme?
https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Alle E-Mails an diese Liste werden unlöschbar öffentlich archiviert