Excel-Vba: programmatischen Zugriff auf VB-Projek

Habe mal eine Frage, die höchstwahrscheinlich eh mit nein beantwortet wird.

Gibt es eine Möglichkeit Code-gesteuert die Sicherheitseinstellung von Excel "programmatischen Zugriff auf das Visual Basic-Projekt " zu aktivieren. Es geht nämlich um ein Dokument, was mehrere Benutzer bedienen sollen. Ich setze dort nämlich programmgesteuert einen Verweis, und falls die Benutzer in ihren individuellen Excel-Einstellungen diese Sicherheitseinstellung nicht aktiviert haben, stürzt das Programm ab.

Vielleicht kann mir ja jemand helfen.

Hi pman,

Gibt es eine Möglichkeit Code-gesteuert die
Sicherheitseinstellung von Excel "programmatischen Zugriff auf
das Visual Basic-Projekt " zu aktivieren.

Bill baut schon sehr viel Mist mit seinem Excel-Passwortschutz, offen wie ein Scheunentor, aber soweit ich es weiß geht es, wie es auch sein sollte, nicht per Makro die Sicherheitseinstellungen zu ändern.

ein Dokument, was mehrere Benutzer bedienen sollen. Ich setze
dort nämlich programmgesteuert einen Verweis, und falls die
Benutzer in ihren individuellen Excel-Einstellungen diese
Sicherheitseinstellung nicht aktiviert haben, stürzt das
Programm ab.

Vielleicht kann man da einsteigen, wie setzt du welchen Verweis und warum stürzt das dann ab und wie, kommt noch Fehlermeldung oder ist Excel ganz weg?.
Welche Excelversion? Welche Codes, wo stehen sie? Auf welche Excelversionen bei den anderen Nutzern treffen diese Codes?

Gruß
Reinhard

Über folgende Fehlerbehandlung fange ich den Fehler ab. Ist zwar nicht ganz sauber, aber macht das was es soll.

Sub auto_Open()

'aktiveren des msxml verweises
Dim VBEObj As Object
On Error GoTo Error
Set VBEObj = Application.VBE.ActiveVBProject.References
On Error Resume Next
VBEObj.AddFromFile „C:\Program Files\Common Files\Microsoft Shared\OFFICE11\MSXML5.DLL“
GoTo Skip1 'Code zur Fehlerbehandlung überspringen
Error:
MsgBox „Zur Bearbeitung dieser Datei müssen Sie Ihre Excel-Sicherheitseinstellungen anpassen. Bitte gehen Sie wie folgt vor:“ & vbCrLf & „Extras -> Makro -> Sicherheit -> Vertrauenswürdige Herausgeber -> Zugriff auf Visual Basic-Projekt aktiveren“ & vbCrLf & „Danach bitte das Dokument erneut öffnen“, vbCritical, „Hinweis“
ActiveWorkbook.Close False
Skip1:

End Sub

Hi Pman,

irgendwie bist du absolut nicht auf meine Nachfragen eingegangen:frowning:

Kennst du den Spruch „Verschwende nie mehr Mühe für Antworten als sich der Fragesteller gemacht hat“ ?

Es hat mit deinem Problem gar nix zu tun, aber benutze bitte nie Namen die Excel-Vba kennt, es geht lange gut bis halt mal unerklärliche Fehler auftauchen.
Ich mein damit „Error“, benenne es anders.

Es liegt nahe, dass wenn man eine Adressverwaltung macht man einer Variablen dem Namen „Name“ gibt, klappt ja auch sehr oft, nur irgendwann sieht das Excel nicht mehr als die Variable namens „Name“ an sondern als Eigenschaft eines Objektes. Schon knallts.
Also bitte bei sowas Namen benutzen die Excel nicht kennt.

Gruß
Reinhard