von Toxitom » Do, 19.04.2007 14:04
Hey gschuckar,
hmm, eigentlich machst du gar nichts falsch - jedenfalls nichts, was ich sehen könnte.
Welche Version von OOo nutzt du und welches BS?
In meinen Programmen nutze ich ähnliche Routinen - und da fnktioniert das alles.
Also, OK, es könnte sein, dass du zum Schluss das Calc-sheet neu berechnen lassen musst. Das entfällt bei mir, da ich normalerweise mit Dialogen arbeite - und wenn die geschlossen werden, wird Calc automatisch neu berechnet (beim Fokuserhalt). Andererseites errecihst du das auch, wenn du manuel die Tabelle wechselst - es sei denn, du hast "automatische Neukalkulation" ausgeschaltet

Den einzigen sonst noch zu erkennenden Unterschied finde ich in der Zeile
Code: Alles auswählen
oDoc.Namedranges.addNewByName("debit_datum", _
"$debitor.$A2:$A" & mdlTools.getLastUsedRow(oSheet)+1, _
createUnoStruct("com.sun.star.table.CellAddress"),0)
Ich erzeuge den Struct seperat - und weise ihn dann zu, also so:
Code: Alles auswählen
Dim aPos as new com.sun.star.table.CellAddress
oDoc.Namedranges.addNewByName("debit_datum", _
"$debitor.$A2:$A" & mdlTools.getLastUsedRow(oSheet)+1, _
aPos ,0)
Allerdings sollte das keinen Unterschied ausmachen.
Ach ja, sind deine Tabellen möglicherweise gesperrt? Dann solltest du die Sperre vorher per Makroaufheben und später wieder setzen.
Sorry, mehr weis ich auch nicht.
Gruss
Thomas
Hey gschuckar,
hmm, eigentlich machst du gar nichts falsch - jedenfalls nichts, was ich sehen könnte.
Welche Version von OOo nutzt du und welches BS?
In meinen Programmen nutze ich ähnliche Routinen - und da fnktioniert das alles.
Also, OK, es könnte sein, dass du zum Schluss das Calc-sheet neu berechnen lassen musst. Das entfällt bei mir, da ich normalerweise mit Dialogen arbeite - und wenn die geschlossen werden, wird Calc automatisch neu berechnet (beim Fokuserhalt). Andererseites errecihst du das auch, wenn du manuel die Tabelle wechselst - es sei denn, du hast "automatische Neukalkulation" ausgeschaltet ;-)
Den einzigen sonst noch zu erkennenden Unterschied finde ich in der Zeile
[code]oDoc.Namedranges.addNewByName("debit_datum", _
"$debitor.$A2:$A" & mdlTools.getLastUsedRow(oSheet)+1, _
createUnoStruct("com.sun.star.table.CellAddress"),0) [/code]
Ich erzeuge den Struct seperat - und weise ihn dann zu, also so:
[code]Dim aPos as new com.sun.star.table.CellAddress
oDoc.Namedranges.addNewByName("debit_datum", _
"$debitor.$A2:$A" & mdlTools.getLastUsedRow(oSheet)+1, _
aPos ,0) [/code]
Allerdings sollte das keinen Unterschied ausmachen.
Ach ja, sind deine Tabellen möglicherweise gesperrt? Dann solltest du die Sperre vorher per Makroaufheben und später wieder setzen.
Sorry, mehr weis ich auch nicht.
Gruss
Thomas