ich habe ein Writer-Doc, in dem ein Calc-Doc eingebettet ist - ohne dass das ods als Datei existiert.
Das ist eine Rechnungsvorlage und im Calc-Part werden die Items eingegeben und die Preise. Das klappt alles gut über verschiedene Gültigkeitslisten.
Seit Version 7.6 und neuer (24, 25..) habe ich das Problem, dass im Calc-Part mir die Makros verweigert werden wegen Sicherheit : "Aus Sicherheitsgründen ist dieses Makro nicht ausführbar."
Die Makrosicherheit ist auf Niedrig und Vertrauenswürdige Quellen habe ich auch eingestellt.
Meine Vermutung : keine gespeicherte ods-Datei, daher im Temp-Verzeichnis?
Der Makro-Code ist simple, doch ist ein Fehler drinne ? :
Code: Alles auswählen
Sub Main
Dim oDoc as Object
Dim ReBetrag as String
oDoc = thiscomponent
DataSheet = oDoc.Sheets(0)
oCell = DataSheet.getCellByPosition(4,14)
ff = FreeFile()
path = "C:\Users\Asterix\Desktop\komplett\Rechnungsvorlagen\ReBetrag_tmp.txt" 'Speicherort von RechnungsBetrag.txt
ReBetrag = oCell.Value
'MsgBox(ReBetrag)
Rebetrag = Round(ReBetrag,2)
'MsgBox(ReBetrag)
ReBetrag = Replace(ReBetrag,",",".")
'MsgBox(ReBetrag)
Open path For Output As ff
Print #ff, ReBetrag
Close #ff
End Sub
Function Round (ByVal num as Double, count as Integer)
Dim oFuncAccess as Object
Dim res as Double
'num = 123.45678
'count = 2
oFuncAccess = createUnoService( "com.sun.star.sheet.FunctionAccess")
res = oFuncAccess.callFunction("ROUND", Array(num, count))
Round = res
End Function
Ich wäre dankbar.
Asterix