🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Makrosicherheit im Ole?

Alles zur Programmierung im LibreOffice.
Antworten
Asterix-Ac
Beiträge: 3
Registriert: So 24. Aug 2014, 18:58

Makrosicherheit im Ole?

Beitrag von Asterix-Ac » Di 8. Jul 2025, 16:40

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

Asterix-Ac
Beiträge: 3
Registriert: So 24. Aug 2014, 18:58

gelöst: Makrosicherheit im Ole?

Beitrag von Asterix-Ac » Fr 11. Jul 2025, 16:30

Hallo zusammen,

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

Asterix


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten