Seite 1 von 1
[Gelöst]Dokument öffnen mit Makro-Makrosicherheit
Verfasst: Do, 21.12.2017 09:00
von Jörg
Hallo Fachleute,
in Anlehnung an dieses Thema:
viewtopic.php?f=18&t=40303
trotz Dannenhöfer und Kochbuch krieg ich es nicht hin, dass im per Makro geöffneten Dokument die Makros ausgeführt werden.
Ich habe bisher diesen Code:
Code: Alles auswählen
Sub docOeffnen
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).name = "MakroExecutionMode"
args1(0).value = 4
sUrl =converttourl( "E:\openoffice\Patientendatei.ods")
oDocument = StarDesktop.loadComponentFromURL(sURL, "_blank", 0, args1())
end sub
"4" steht für Ausführen ohne Nachfrage.
Ich würd mich freuen, wenn jemand eine Lösung dafür hätte.
Bei Dannenhöfer steht:
Code: Alles auswählen
(Der Vorsatz zu der Konstante ist immer: com.sun.star.document.MacroExecMode.xxx)
Aber wie gehe ich damit um?
Vielen Dank!
Re: Dokument öffnen mit Makro-Makrosicherheit
Verfasst: Do, 21.12.2017 09:17
von Toxitom
Hallo Jörg,
also, der Code passt schon. Und wenn Du keine Fehlermeldung bekommst - ist das auch ok.
Prüfe zunächst erst einmal, ob die Sicherheitseinstellungen deines Programms überhaupt Makro-Ausführungen zulassen (Extras - Einstellungen od. Optionen - AOO - Sicherheit -> Makrosicherheit). Steht die noch auf "Hoch" oder "Sehr hoch", dann nützt Dir auch ein Code nix, ein Makro auszuführen;)
VG
Tom
Re: Dokument öffnen mit Makro-Makrosicherheit
Verfasst: Do, 21.12.2017 09:34
von Jörg
Moin Tom,
danke für die Antwort.
Also die Einstellungen für die Makrosicherheit stehen unverändert auf "Niedrig".
Ich stell mal den Gesamtcode hier rein, aus dem der Code "docOeffnen" ausgeführt wird.
Code: Alles auswählen
sub save2 'Jahresabschluss "Speichern unter"
oDoc=thisComponent
Filename = Inputbox ("Bitte tragen Sie den neuen Dateinamen ein" , "Speichern unter")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "FilterName"
args1(0).Value = "calc8"
arg = Array(com.sun.star.ui.dialogs.TemplateDescription.FILESAVE_AUTOEXTENSION)
dialog = CreateUnoService("com.sun.star.ui.dialogs.OfficeFilePicker")
'Hinweis: der Dialog "com.sun.star.ui.dialogs.FilePicker" hat einen Bug bei .DisplayDirectory
' deshalb muss hier der OO-eigene Dialog .OfficeFilePicker genutzt werden
dialog.Initialize(arg())
dialog.appendFilter( "ODF Tabellendokument (*.ods)", "*.ods" )
dialog.SetMultiselectionMode(False)
dialog.DisplayDirectory = ConvertToURL("E:\openoffice\Jahresabschluesse")
dialog.DefaultName = Filename
ok = dialog.execute()
if ok = 1 Then
datei = dialog.getFiles()
URL = datei(0)
oDoc.storeasurl(URL, args1())
end if
monatsumaetze_gkv
Summenteilerg
copy_sheet
statistik_sheet
antwort = msgbox ("Der Jahresabschluss DEZEMBER" & CHR(13) & "ist durchgeführt." & CHR (13)&"Schliessen Sie das Dokument und führen Sie im Orginaldokument den Monatswechsel durch" & CHR(13) & "Dokument schließen?", 52,"Monatswechsel")
if antwort = 7 then
Exit sub
else
msgbox ("Bitte warten")
odoc.store
odoc.close(true)
end if
docOeffnen
end sub
Re: Dokument öffnen mit Makro-Makrosicherheit
Verfasst: Do, 21.12.2017 10:18
von Stephan
Der Parameter heißt nicht:
sondern:
WAs doch aber auch bei Dannenhöfer so steht.
Gruß
Stephan
Re: Dokument öffnen mit Makro-Makrosicherheit
Verfasst: Do, 21.12.2017 10:24
von Toxitom
Hmm Jörg, so ganz verstehe ich das Problem wohl nicht:
..Ich stell mal den Gesamtcode hier rein, aus dem der Code "docOeffnen" ausgeführt wird.
Dein Code hat doch zunächst mit dem ursprünglichen Thema gar nicht zu tun. Mit der Anweisung "docOeffnen" öffnest Du doch lediglich ein vorhandenes Dokument. Und das funktioniert nicht?
Oder hast Du im Dokument selbst Makros gespeichert, die du dann ausführen möchtest und das funktioniert nicht?
Wie startest Du denn die Makros? Ein Makro startet nicht von alleine - nie! Mit dem Öffnen eines Dokumentes würden Makros nur dann starten, wenn diese dem Ereignis "Dokument öffnen" zugeordnet sind. Ist das der Fall?
Ich denke, da fehlen noch ein paar Informationen....
VG
Tom
Re: [Gelöst]Dokument öffnen mit Makro-Makrosicherheit
Verfasst: Do, 21.12.2017 10:48
von Jörg
Hallo und vielen Dank,
@Tom
zur Info:
Zunächst speichere ich ein Dokument "Orginal" (In dem sich Makros befinden) mit "Speichern unter" "Kopie"
nach Schließen der "Kopie" wollte ich das "Orginal" wieder öffnen.
Das Öffnen klappte, aber das Ausführen der Makros mittels Button ging nicht.
@ Stephan
Das war es.
Nun nachdem der Code von Dannenhöfer, warum auch immer nicht ging, hab ich den aus dem Kochbuch kopiert.
Siehe Bild.
- Kochbuch.PNG (23.4 KiB) 4618 mal betrachtet
Aber jetzt funktioniert alles bestens.
Danke!