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:

Code: Alles auswählen

args1(0).name = "MakroExecutionMode"
sondern:

Code: Alles auswählen

args1(0).name = "MacroExecutionMode"
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
:shock: 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
Kochbuch.PNG (23.4 KiB) 4460 mal betrachtet
Aber jetzt funktioniert alles bestens.
Danke!