Seite 1 von 1

Makrosicherheit im Ole?

Verfasst: Di 8. Jul 2025, 16:40
von Asterix-Ac
Hallo zusammen,

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
Vielleicht hat jemand eine Idee?

Ich wäre dankbar.

Asterix

gelöst: Makrosicherheit im Ole?

Verfasst: Fr 11. Jul 2025, 16:30
von Asterix-Ac
Hallo zusammen,

der Fehler lag in einer fehlerhaften LO-Installation (Update)
nun geht es wieder.

Asterix