Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1164to1168
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBProject läuft bei Schreibschutz nicht

VBProject läuft bei Schreibschutz nicht
Peter
Hallo,
die Anweisung:
ActiveWorkbook.VBProject.VBComponents.Count
läuft nur , wenn das VB Projekt keinen Schreibschutz hat. Gibt es eine Lösung?
AW: VBProject läuft bei Schreibschutz nicht
11.07.2010 19:00:15
fcs
Hallo Peter,
die Lösung ist doch wohl offensichtlich:
Schutz des VBA-Projektes aufheben, allerdings geht dies für Normalsterbliche nur manuell.
Wozu soll das Zählen der VBA-Komponeneten denn gut sein?
Gruß
Franz
AW: VBProject läuft bei Schreibschutz nicht
11.07.2010 19:24:34
Peter
Hallo Franz,
der Schreibschutz sollte schon bleiben. Mit diesem Befehl will ich eigentlich nur herausfinden, ob das Kreuz bei "Zugriff auf Visual Basic-Projket vertrauen" gesetzt ist. Wenn das Kreuz nicht gesetzt ist, wird zu Kein_VBA gesprungen und kommt es kommt dann ein Hinweis.
Das alls funktioniert aber nur, wenn der Schreibschutz nicht gesetzt ist.
On Error GoTo Kein_VBA
lngI = ActiveWorkbook.VBProject.VBComponents.Count
..
..
Kein_VBA:
Application.Run ("KEINVBA")
Hinweis in sub keinbva
MsgBox "Fehler Makro Sicherheitseinstellung"
MsgBox "Einstellung Makro-Sicherheit: Extras - Makro - Sicherheit - Vertrauenswürdige Herausgeber - (x) Zugriff auf Visual Basic-Projket vertrauen"
Weißt du eine Lösung?
Anzeige
AW: VBProject läuft bei Schreibschutz nicht
11.07.2010 20:01:13
Nepumuk
Hallo,
da beißt sich doch der Hund in den Schwanz. Wozu denn den Zugriff auf das VBA-Projekt erlauben wenn es geschützt ist? Ob das Häkchen gesetzt ist kannst du aus der Registry auslesen.
Gruß
Nepumuk
AW: VBProject läuft bei Schreibschutz nicht
11.07.2010 20:04:48
Peter
Hallo Nepomuk
kannst du mir ein Beispielcode erstellen?
AW: VBProject läuft bei Schreibschutz nicht
11.07.2010 20:13:38
Nepumuk
Hallo,
ist doch ganz einfach:
Sub prcRead() 'zugriff auf VBA-projekt vertrauen
    Dim objWSHShell As Object
    If Val(Application.Version) > 9 Then
        Set objWSHShell = CreateObject("WScript.Shell")
        MsgBox objWSHShell.RegRead("HKCU\Software\Microsoft\Office\" & _
            Application.Version & "\Excel\Security\AccessVBOM")
        Set objWSHShell = Nothing
    End If
End Sub

1=Häkchen gesetzt
0=Häkchen nicht gesetzt
Gruß
Nepumuk
Anzeige
Da bleibt noch ein thoeretisches Problem
12.07.2010 10:51:24
NoNet
Hallo Peter, hallo Nepumuk,
mit diesem Code kann man zwar den entsprechenden Registry-Wert auslesen, allerdings nutzt das nichts, wenn diese Sicherheits-Einstellung per Policy-Richtlinie gesetzt wird :
In unserer Firma kann man in diesen RegKey hineinschreiben, was man möchte, oder den Schlüssel sogar löschen - die Option "VB-Projekt vertrauen" bleibt angehakt und ist gleichzeitig ausgegraut !
Das Gleiche gilt übrigens auch für die Makro-Sicherheit : Sobald die Policy-Richtlinien greifen, kann man diesen Status nicht mehr am PC selbst verändern - weder manuell noch per Registry, sondern wiederum nur per Policies.
In solch einem Fall hilft nur, sich mit den Admins gut zu verstehen und sie zu bitten, den PC von der Policy auszunehmen (was in unserer Firma leider strikt verboten ist !).
Gruß, NoNet
Anzeige
AW: VBProject läuft bei Schreibschutz nicht
12.07.2010 13:25:09
Peter
Hallo Nepomuk,
danke für das Beispiel den kleinen Fehler habe ich korrigiert. Aber da ist noch ein Problem. Wann wird die Änderung beim Häkchen eigentlich in der Registry wirksam?
Beispiel:
Registry öffnen: Wert steht auf 1, Registry schließen
Excel geöffnet Häkchen wegnehmen, EXCEL schließen,
Registry öffnen Wert steht immer noch auf 1 (warum?)
Excel wieder öffnen, Häkchen ist wieder gesetzt.
Sub prcRead() 'zugriff auf VBA-projekt vertrauen
Dim objWSHShell As Object
If Val(Application.Version) > 9 Then
Set objWSHShell = CreateObject("WScript.Shell")
MsgBox objWSHShell.RegRead("HKCU\Software\policies\Microsoft\Office\" & _
Application.Version & "\Excel\Security\AccessVBOM")
Set objWSHShell = Nothing
End If
End Sub

Anzeige
AW: VBProject läuft bei Schreibschutz nicht
12.07.2010 16:33:01
Nepumuk
Hallo,
der Eintrag in die Registry erfolgt beim Schließen vom Excel. Warum das bei dir so nicht passt kann ich ohne deinen Rechner nicht sagen. Auf allen Rechnern bei uns funktioniert das ordnungsgemäß.
Gruß
Nepumuk
Policies anpassen oder nicht ?
12.07.2010 16:44:18
NoNet
Hallo Peter, hallo Nepumuk,
der Schlüssel
[HKCU\Software\Microsoft\Office\11.0\\Excel\Security\AccessVBOM]
wird beim Schließen von Excel zurückgeschrieben, falls dies nicht per Policies untersagt ist.
Der Schlüssel
[HKCU\Software\policies\Microsoft\Office\11.0\\Excel\Security\AccessVBOM]
wird sicherlich NICHT zurückgeschrieben, denn das ist ja die Benutzerrichlinie, die sicherlich von einem Policy-SERVER kommt !
Beachte auch folgenden Schlüssel :
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Office\11.0\Excel\AccessVBOM]
Hier ist die Gruppenrichtlinei für den gesamten PC hinterlegt und diese dominiert (wie in meinem vorherigen Post beschrieben) die lokalen Einstellungen !
Wenn man diese HKLM-Schlüssel löscht (und auch die HKCU-Policies), können die Werte aus Excel auch wieder in die Registry geschrieben werden.
ACHTUNG : Informiere Dich bitte zuvor, ob das Löschen/Anpassen der Policies in Deiner Firma erlaubt ist oder nicht - Ich übernehme dafür logischerweise keine Verantwortung !
In unserer Firma ist das wie gesagt VEBOTEN !
Gruß, NoNet
Anzeige
AW: Policies anpassen oder nicht ?
12.07.2010 16:56:08
Nepumuk
Hallo NoNet,
da wundert mich es aber dann doch, dass du trotz solcher Richtlinien an die Registry ran kommst. Ich als Admin würde die für den OttoNormalUser einfach sperren.
Gruß
Nepumuk
P.S. Policies hört sich schon an wie Polizei. Obwohl die auch schon mal Kunde bei mir war will ich mit dem Trachtenverein besser nichts zu tun haben.
Als SUPERUSER darf ich das ;-)
12.07.2010 17:12:11
NoNet
Hey Nepumuk,
ich bin ja auch kein "OttoNormalUser", sondern selbst im IT-Bereich tätig. Da ich für meine Support-Tätigkeit in Bezug auf REGISTRY quasi "Hilfs-Sheriff" bin (im IT-Bereich auch als "Superuser mit Systemkontorechten" bezeichnet) , kann ich natürlich 99% aller Konfigurationen selbst vornehmen - vor allem natürlich an meinem eigenen PC...
Allerdings werden einige Änderungen mit der nächsten Anmeldung an unsere AD wieder durch die Policies überschrieben - und das obwohl ich unsere Admins sehr gut kenne...
Unsere "User" dürfen an HKLM übrigens nicht ändern, sehr wohl aber an HKCU, da diesen Zweig ja auch viele Applikationen für interne Optionen verwenden...
Gruß, NoNet
Anzeige
AW: Als SUPERUSER darf ich das ;-)
12.07.2010 18:16:14
Peter
Hallo NoNet,
ich habe mal die genannten Schlüssel meine beiden Rechner verglichen
Firmenrechner:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Excel\AccessVBOM
Privater Rechner
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Office\11.0\Excel\AccessVBOM
Nun frage ich mich, wie kommt Policies auf meinen privaten Rechner, wo ich doch der Admin bin und wie kann ich Policies wieder entfernen.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige