Hallo Leute,
für OpenOffice habe ich ein eigenes menu gebaut. Es soll nichts anderes als ein Starter für eigene ooAnwendungen sein. Z.Bsp. starte ich mit dem folgenden Code eine Anwendung, die siche Energie nennt.
---- code ----
Sub main On Error Goto ErrorHandler
if (getEnergyDoc() = false) then
MsgBox "Document konnte nicht geladen werden!"
end if
exit sub
Errorhandler:
MsgBox "Error " & Err & ": " & Error$ & " (line : " & Erl & ")" & "in sub main"
End Sub ' Main
private function getEnergyDoc() as boolean on Error goto ErrorHandler
Dim strLoadURL as String
Dim loadProps(0) as new com.sun.star.beans.PropertyValue
Dim bReturn as Boolean
bReturn = false
' load document hidden
loadProps(0).Name = "Hidden"
'loadProps(0).Value = true ' load document hidden
loadProps(0).Value = false ' load unhide
strLoadURL ="file:///home/gsh/Documents/haus/EnergieVerbrauch.ods"
StarDesktop.loadComponentFromURL(strLoadURL,"_default",0,loadProps())
bReturn = true
getEnergyDoc = bReturn
exit function
ErrorHandler:
getEnergyDoc = bReturn
MsgBox "Error " & Err & ": " & Error$ & " (line : " & Erl & ")" & "in mdlMain.getEnergyDoc"
end function
' ------------ End of modul Main ----------------------
Das funktioniert soweit auch. Allerdings lassen sich die Makros in der Anwendung EnergieVerbrauch.ods auf diese Weise nicht starten. In der Anwendung befindet sich u.A. ein menupunkt, mit dem sich ein Dialog öffnen lässt. Geht nicht. "Aus Sicherheitsgründen lässt sich das Makro nicht ausführen. Überprüfen Sie ihre Sicherheitseinstellung".
Wenn ich die Anwendung über Datei -> Öffnen öffne, dann funktioniert alles wunderbar.
Ich denke, mein Code enthält irgendwo einen fehler. Die Anwendung muss anders gestartet werden.
Kann mir bitte jemand einen Tipp geben?
Danke
Gerd
Sicherheitseinstellungen
Moderator: Moderatoren
- komma4
- ********
- Beiträge: 5332
- Registriert: Mi, 03.05.2006 23:29
- Wohnort: Chon Buri Thailand Asia
- Kontaktdaten:
gib' beim Öffnen des Dokuments noch eine Eigenschaft mit, dass Makros erlaubt sein sollen, dann sollte es klappen:
War es das?
Code: Alles auswählen
Dim loadProps(1) as new com.sun.star.beans.PropertyValue
[...]
loadProps(1).Name = "MacroExecutionMode"
loadProps(1).Value = 4 ' always execute - no warning
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
Sicherheitseinstellungen
Hallo Winfried,
leider kann ich erst jetzt antworten. Danke für den Tipp. So gehts ganz wunderbar.
Gruß
Gerd
leider kann ich erst jetzt antworten. Danke für den Tipp. So gehts ganz wunderbar.
Gruß
Gerd