Um dies zu tun, müssen Sie den Ort hinzufügen, von dem der Excel in den "vertrauenswürdigen Orten" gestartet wird.
Um dies zu tun, gehen Sie wie folgt vor:
- In Excel-Optionen, um Trust Center gehen und dann Standorte
- Fügen Sie den Standort Trusted.
Dies müsste auf einer PC-Basis erfolgen.
Darüber hinaus gibt es keine Möglichkeit, dies aus der Sicht einer Excel-Datei zu tun, da dies die Sicherheitsfeature, den Benutzer den VBA-Code ausführen zu lassen, völlig aufhellen würde.
Auch eine kleine Randbemerkung, wenn Sie Ihre Excel-Datei unterschreiben, benötigen Sie immer noch den Empfänger, Ihnen als Herausgeber zu vertrauen, deshalb hat Ihre Lösung wahrscheinlich nicht funktioniert.
Edit:
Ange Kommentare, es scheint eine Möglichkeit zu sein, es programmatisch zu tun. Wie von XpertsExchange übernommen,
Warum nicht einfach den Registrierungseintrag aus Code festlegen, ohne Shell aufrufen? Verwenden Sie die CRegistry Klasse hier:
http://www.vbaccelerator.com/home/VB/Code/Libraries/Registry_and_Ini_Files/Complete_Registry_Control/article.asp
VBA-Code:
Dim c As New cRegistry
With c
.ClassKey = HKEY_CURRENT_USER
.SectionKey = "Software\Microsoft\Office\12.0\Access\Security\Trusted Locations\YourTrustedLocationName"
.ValueKey = "Path"
.ValueType = REG_DWORD
.Value = "Full path to Trusted Folder"
End With
Der einzige Nachteil ist, dass YourTrustedLocationname eindeutig sein muss ...
Sie müssten versuchen, wenn es sollte .ValueType = REG_DWORD oder REG_SZ sein. Da bin ich mir nicht sicher.
Aus dem Aussehen Ihres Screenshots ist Access 2007 und nicht 2003 oder 2010. – jdw