Sicherheit bei Makros mit Makro einstellen!

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Sicherheit bei Makros mit Makro einstellen!
von: Holger Wächter
Geschrieben am: 25.04.2005 09:12:02
Hallo,
unter Extras -> Makro -> Sicherheit... -> Vertrauenswürdige Quellen kann man ja die beiden Haken bei - Allen installierten Add-Ins und Vorlagen vertrauen und Zugriff auf Visual Basics-Projekt vertrauen setzen.
Wie kann ich dieses über ein Makro aktivieren, so das jeder der mein Programm öffnet auch diese Einstellungen sofort gesetzt bekommt?
MfG
Holger Wächter

Bild

Betrifft: garnicht!
von: magicman
Geschrieben am: 25.04.2005 09:15:51
Hallo Holger,
wenn es einem Makro möglich wäre die Sicherheitseinstellungen zu verändern hätten diese gar keinen Zweck.
Das wäre so als wenn Du deinen Haustürschlüssel AUF deiner Fußmatte versteckst.
Gruß
Michael
Bild

Betrifft: AW: garnicht!
von: Holger Wächter
Geschrieben am: 25.04.2005 09:19:56
Obwohl das mit dem Haustürschlüssel sicher möglich wäre.
Kennst Du denn eine vernünftige Lösung womit ich z.B. die Sicherheitseinstellung abfragen kann und den User darauf hinweisen kann diese einzustellen.
MfG
Holger Wächter
Bild

Betrifft: AW: garnicht!
von: Andi
Geschrieben am: 25.04.2005 09:45:46
Hi Holger,
eine Möglichkeit, ein Makro (in Deinem Fall die Abfrage) auszuführen, bevor der user mittels der Sicherheitseinstellungen Makros grundsätzlich erlaubt hat, das geht imho nicht, und würde wohl auch jedem Sicherheitskonzept den Wind aus den Segeln nehmen.
Das einzige, was mir dazu einfällt, ist folgende "Bastel-Lösung":
Du könntest die entsprechende Meldung einfach auf die erste Tabelle in eine Zelle schreiben, und diese Zelle im Workbook_open löschen. Dann erscheint der Text nur, wenn die Makros deaktiviert sind.
Problem hierbei: die Meldung ist dann für immer weg. Du könntest sie zwar im Workbook_close wieder in die Zelle schreiben, müsstest dann aber vor dem schliessen automatisch speichern, womit man keine Änderungen mehr verwerfen könnte.
Wie gesagt, schön ist das alles nicht, aber mehr fällt mir im Augenblick nicht dazu ein und vielleicht hilft es Dir ja ein bisschen weiter.
Schönen Gruß,
Andi
Bild

Betrifft: AW: garnicht!
von: MichaV
Geschrieben am: 25.04.2005 09:58:50
Hi,
oder schreib sie ins Bevore_Save . Dann sollte es gehen. Wenn nicht gespeichert wird, erscheint die Meldung beim nächsten mal auch.
Gruß- Micha
Bild

Betrifft: AW: garnicht!
von: Andi
Geschrieben am: 25.04.2005 10:10:16
Gute Idee, aber wenn der user während er mit der Mappe arbeitet, öfter mal zwischenspeichert (was ja durchaus zu empfehlen ist :-)), dann steht die Meldung auf einmal wieder da, was aber nicht beabsichtigt ist.
Wenn man aber davon ausgeht, dass nur beim schliessen oder gar nicht gespeichert wird, dann müsste Deine Lösung funktionieren.
Schönen Gruß,
Andi
Bild

Betrifft: AW: garnicht!
von: Holger Wächter
Geschrieben am: 25.04.2005 10:29:51
Das habe ich auch schon realisiert mit einer Dummy-Mappe. Wo diese Meldung erscheint, und beim starten gelöscht wird.
Nur reicht es ja schon aus die Makros zu aktivieren, aber die Sicherheitseinstellung könnten dann immer noch deaktiviert sein. Wie kann ich sicherstellen, das die auf jeden Fall aktiv sind, da sonst ja eine Fehlermeldung bei der Ausführung des Codes kommt.
MfG
Holger Wächter
Bild

Betrifft: AW: garnicht!
von: Andi
Geschrieben am: 25.04.2005 10:56:35
Hi,
das würde aber trotzdem darauf hinauslaufen, dass sich ein Makro selbst aktiviert, was erstens logisch betrachtet nicht gehen kann, weil es ja, um sich selbst zu aktivieren, schon laufen müsste, aber erst laufen kann, nachdem es sich selbst aktiviert hat. Ein Teufelskreis...
Außerdem wären damit die Einstellungen bzgl Makrosicherheit hinfällig, wenn man per Makro die Sicherheitsstufe quasi automatisch auf "Niedrig" stellen könnte. Es haben schliesslich nicht alle Programmierer so edle und ungefährliche Absichten wie Du...
Oder kann es sein, dass ich Dich immer noch nicht ganz richtig verstanden habe?
Schönen Gruß,
Andi
Bild

Betrifft: AW: garnicht!
von: Holger Wächter
Geschrieben am: 25.04.2005 11:06:46
Es geht nicht darum die Sicherheitseinstellungen auf 'Niedrig' zu setzen. Das habe ich ja schon mit der selbst geschriebenen Aufforderung im ersten Tabellenblatt gelöst.
Es geht um diese Sicherheits-Einstellungen:
'unter Extras -> Makro -> Sicherheit... -> Vertrauenswürdige Quellen kann man ja die beiden Haken bei - Allen installierten Add-Ins und Vorlagen vertrauen und Zugriff auf Visual Basics-Projekt vertrauen setzen.'
Die sind nämlich eventuell noch nicht gesetzt wenn die Makros auf niedrig stehen. Die brauche ich aber für meine Fehlerabfrage. Es muss gewährleistet sein, dass die gesetzt sind, sonst soll mein Code nichts machen.
Hast Du dafür vielleicht eine Lösung?
MfG
Holger Wächter
Bild

Betrifft: AW: garnicht!
von: Andi
Geschrieben am: 25.04.2005 11:14:06
Hm, jetzt hab ich zwar trotz PISA so langsam kapiert, was Du erreichen möchtest, allerdings hab ich keine Idee.
Ich hab mal den Haken entfernt und wieder gesetzt und dabei dem Makro-Rekorder mitlaufen lassen; der hat aber rein gar nix aufgezeichnet. IMHO ein Indiz dafür, dass dieser Haken sich dem Zugriff per VBA entzieht.
Ich lass die Frage mal noch offen, es gibt hier ja ne Reihe Leute, die wesentlich mehr Ahnung von sowas haben als ich.
Schönen Gruß,
Andi
Bild

Betrifft: AW: garnicht!
von: Heiko S.
Geschrieben am: 25.04.2005 11:23:41
Hallo Holger,
wie wäre es denn z.B. so.

Private Sub CommandButton12_Click()
Dim strPath As String
   
strPath = Application.Path & "\"
' On Error GoTo Errorhandler
ThisWorkbook.VBProject _
    .VBComponents("GlobaleVariable").Export strPath & "GlobaleVariable.bas"
Workbooks.Add 1
With ActiveWorkbook.VBProject
    .VBComponents.Import strPath & "GlobaleVariable.bas"
    .VBComponents("GlobaleVariable").Name = "MyModul"
End With
Kill strPath & "\GlobaleVariable.bas"
MsgBox "Modul wurde kopiert!"
Exit Sub
' Bei Fehlernummer 1004, diese Meldung ausgeben.
Errorhandler:
    If Err.Number = 1004 Then
        MsgBox "Das kopieren des VBA Moduls ist fehlgeschlagen!" & vbCr & _
           "Bitte überprüfen Sie folgende Einstellung! " & vbCr & _
           "EXTRAS -> MAKRO -> SICHERHEIT -> Vertrauenwürdige Quellen." & vbCr & _
           "'Zugriff auf Visual Basic Projekt vertrauen' muss aktiviert sein! ", vbCritical, _
           " Meldung vom Makro Modul kopieren!"
    ' Sonstige Fehler im Klartext mit Fehlernummer ausgeben.
    Else
        MsgBox "Err.Number = " & Err.Number & ".   " & Err.Description, vbCritical
    End If
    ' Fehlernummer löschen.
    Err.Clear
End Sub


Denn bei mir löst ein nicht gesetzter Haken den Fehler 1004 aus.
Ja ja ich weis auch andere Fehler lösen diese Fehlernummer aus, aber besser als garnichts.

Gruß Heiko

PS: Rückmeldung wäre nett !
Bild

Betrifft: AW: garnicht!
von: Holger Wächter
Geschrieben am: 25.04.2005 15:27:46
Danke dafür. Denke die Lösung hilft mir weiter.
MfG
Holger Wächter
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Sicherheit bei Makros mit Makro einstellen!"