Seite 1 von 1

Makrosicherheit und Base

Verfasst: Do, 28.12.2006 12:02
von Frank Lauer
Wenn ich ein internes Formular in Base (mit Makros) öffne bekomme ich eine Sicherheitswarnung, obwohl ich das Verzeichnis der Basedatei unter Makrosicherheit als vertrauenswürdig angegeben habe. Ich vermute, dass das daran liegt, dass das Formular in irgendeinem anderen Verzeichnis temporär von OOo zwischengespeichert wird. Kann man diese Sicherheitswarnung verhindern (Eventuell, indem man das Temporärverzeichnis freigibt)?

Gruß

Frank Lauer

Verfasst: Sa, 30.12.2006 00:10
von sarotti
Hallo Frank,

Es gibt da zwei Möglichkeiten:

1. unter <Extras><Optionen><Sicherheit><Makrosicherheit> stufst Du das Verzeichnis als "vertrauenswürdig" ein oder

2. Du lädst die Datei per Makro. Allerdings mußt Du dann eine externe Makrobibliothek anlegen und diese importieren (<Extras><Makros><Makros verwalten><OpenOffice.org Basic><Bibliotheken><importieren>). Dann kannst du die Makros auch irgendwo auf der Festplatte oder im Netzwerk haben...

(P.S. unter OO 2.0 hieß importieren noch "hinzufügen")

Gruss
Jörg

Verfasst: Sa, 30.12.2006 00:11
von sarotti
Hallo Frank,

Es gibt da zwei Möglichkeiten:

1. unter <Extras><Optionen><Sicherheit><Makrosicherheit> stufst Du das Verzeichnis als "vertrauenswürdig" ein oder

2. Du lädst die Datei per Makro. Allerdings mußt Du dann eine externe Makrobibliothek anlegen und diese importieren (<Extras><Makros><Makros verwalten><OpenOffice.org Basic><Bibliotheken><importieren>). Dann kannst du die Makros auch irgendwo auf der Festplatte oder im Netzwerk haben...

(P.S. unter OO 2.0 hieß importieren noch "hinzufügen")

Gruss
Jörg

Verfasst: Sa, 30.12.2006 00:16
von Frank Lauer
1. unter <Extras><Optionen><Sicherheit><Makrosicherheit> stufst Du das Verzeichnis als "vertrauenswürdig" ein oder
Habe ich schon. Das Verzeichnis, in dem der Base Conteiner mit dem Formular ist, ist als vertrauenswürdig eingestuft. Die Meldung kommt aber trotzdem.

Verfasst: Sa, 30.12.2006 00:33
von sarotti
Hallo Frank,

habe ich gerade noch einmal getestet. Klappt unter 2.1 einwandfrei...

Sorry, aber weiter weiss ich auch nicht. :(

Versuchs doch mal mit meinem zweiten Vorschlag...

Gruss
Jörg

Verfasst: Sa, 30.12.2006 13:12
von sarotti
Hallo Frank,

ich noch mal... habe per Zufall (leider habe ich den Originalformumslink nicht mehr gefunden aber den Coder vorher kopiert :D ) noch eine Lösung gefunden:

Code: Alles auswählen


Sub DokumentOeffnen_MAKRO
Dim oDokument as Object 
Dim sUrl as String 
Dim Dummy(0) as New com.sun.star.beans.PropertyValue 
Dummy(0).Name = "MacroExecutionMode" 
'Konstanten: 
'NEVER_EXECUTE 
'FROM_LIST 
'ALWAYS_EXECUTE 
'USE_CONFIG 
'ALWAYS_EXECUTE_NO_WARN 
Dummy(0).Value = com.sun.star.document.MacroExecMode.ALWAYS_EXECUTE_NO_WARN 
sUrl = ConvertToUrl ("c:\test.odt") 
dokument = StarDesktop.loadComponentFromURL( sUrl , "_blank", 0, Dummy() ) 
End Sub

Mit diesem Makro öffnest Du eine Datei, der Du dann die einsprechenden "Makro_Ececution_Modes" zuweist... Klappt wunderbar...


Gruss
Jörg

Verfasst: Sa, 30.12.2006 13:38
von Frank Lauer
habe ich gerade noch einmal getestet. Klappt unter 2.1 einwandfrei...
Hm, seltsam. Funktioniert das bei dir bei einem in der Base-Datei gespeicherten Formular, oder bei einem extern gespeicherten Formular, mit einer Base-Datei registrierten Basedatei verknüpft ist. Der 2. Fall funktioniert bei mir auch.

Das Makro kann ja ebenfalls nur ein extern gespeichertes Formular öffnen. Trotzdem danke für das Makro, denn die Befehle dort könnten bei einem anderen Makro das ich schreiben muss sehr nützlich sein.

Verfasst: Sa, 30.12.2006 16:39
von sarotti
Hallo Frank,


Funktioniert das bei dir bei einem in der Base-Datei gespeicherten Formular, oder bei einem extern gespeicherten Formular, mit einer Base-Datei registrierten Basedatei verknüpft ist.
Sorry, kann ich nicht sagen...ich habe mir abgewöhnt in Base eingebundene Formulare zu nutzen. Ich benutze Base als Frontend im Netzwerk. D.h. es liegen Formulare und die Makros außerhalb von OO in einen Netzwerklaufwerk. Ich denke gerade dann macht es keinen Sinn interne Formulare zu nutzen.

Ehrlich gesagt, habe ich mich bislang nicht unbedigt besonders mit internen Formularen und dem Zugriff (auch auf eingebundene Makros) auseinandergesetzt. Habe bislang keine Idee wie ich von extern auf diese zugreifen könnte... (geht das überhaupt???)


Gruss
Jörg