[gelöst] Alter Makro reklamiert auf einmal die Sicherheitseinstellungen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

kilix
****
Beiträge: 128
Registriert: So, 09.04.2023 11:27

[gelöst] Alter Makro reklamiert auf einmal die Sicherheitseinstellungen

Beitrag von kilix »

Hallo,

ich habe in einem OO-Dokument einen aufgezeichneten Makro, der immer einwandfrei funktioniert hat. Heute habe ich dieses Dokument in mein Systen eingebunden indem ich es aus einem anderen Dokument mit Makro aufrief. Dazu habe ich es mit diesem Code geöffnet:

Code: Alles auswählen

Sub Eintritte_erfassen
	oDoc=ThisComponent
	surl = oDoc.url  '»thisComponent« nicht mehrmals verwenden auch nicht zweimal!
	apfad = split(surl,"/")
	apfad(ubound(apfad)) = "eintritte.ods"
   	sURL = convertToURL(join(apfad,"/"))
   	dim myFileProp() as new com.sun.star.beans.PropertyValue
	oEIN = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, myFileProp())
end Sub
Das ist ein Code den ich schon vielfach zum Öffnen von Dokumenten verwendete. Als ich den oben genannten Makro, wie immer, mit Schaltfläche aufrufen wollte tat sich nichts. Erst als ich ihn direkt aufrief erhielt ich die Meldung, dass ich die Sicherheitseinstellungen ändern soll.
Die Sicherheitseinstellungen habe ich schon vor Monaten auf die niedrigste Stufe gestellt weil mich die ständige Nachfrage störte.

Ich habe probeweise alle Tabelleninhalten samt diesem Makro in ein neues Dokument kopiert. Dort funktioniert das Makro wie gewohnt. Das Problem bezieht sich also nur auf dieses eine Dokument.

Edit:
ich denke, ich bin einen Schritt weiter: wenn ich dieses Dokument (und bei einem anderen tritt das gleiche auf) ohne Makro öffne gibt es kein Problem. Daher gehe ich davon aus, dass das durch das Makro aufgerufene Dokument durch das Makro gesperrt ist. Leider habe ich in den Dokumentationen nicht gefunden wie ich solche Dokumente in Makro freigeben kann bzw. so öffne, dass die nicht gesperrt sind.
Zuletzt geändert von kilix am So, 02.07.2023 22:18, insgesamt 1-mal geändert.
Grüße
kilix
kilix
****
Beiträge: 128
Registriert: So, 09.04.2023 11:27

Re: Alter Makro reklamiert auf einmal die Sicherheitseinstellungen

Beitrag von kilix »

Ich denke, dass ich die Lösung selbst gefunden habe:

Code: Alles auswählen

Sub Eintritte_erfassen
	oDoc=ThisComponent
	surl = oDoc.url  '»thisComponent« nicht mehrmals verwenden auch nicht zweimal!
	apfad = split(surl,"/")
	apfad(ubound(apfad)) = "eintritte.ods"
	sURL = convertToURL(join(apfad,"/"))
   	dim myFileProp(1) as new com.sun.star.beans.PropertyValue
   	
   	myFileProp(1).name="MacroExecutionMode"
	myFileProp(1).value = com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE_NO_WARN
	
	oEIN = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, myFileProp())
end Sub
So wie es aussieht scheint sie zu funktionieren. Habe dazu Informationen kombiniert die ich bei Andrew Pitonyak und bei Michael Dannenhöfer gefunden habe.
Grüße
kilix
Antworten