Tentei e dá um erro na parte em vermelha.
Option Compare Database
Option Explicit
Dim CaminhoLoc As String
'--------------------------------------------------------------------------
Public Function fncConfigMacro()
Dim reg As Object
On Error Resume Next
'------------------------------------------------------------
'Se encontrar uma das configurações já feitas, abortar função.
'------------------------------------------------------------
If fncJaConfigurado Then Exit Function
'------------------------------------------------------------
Set reg = CreateObject("wscript.shell")
'------------------------------------------------------------
'Configurando como confiável a pasta aonde se encontra seu BD
'------------------------------------------------------------
reg.RegWrite CaminhoLoc & "AllowSubfolders", 1, "REG_DWORD"
reg.RegWrite CaminhoLoc & "Date", Date, "REG_SZ"
reg.RegWrite CaminhoLoc & "Description", "Projeto exemplo", "REG_SZ"
reg.RegWrite CaminhoLoc & "Path", fncLocalBd, "REG_SZ"
Set reg = Nothing
End Function
'--------------------------------------------------------------------------
Public Function fncLocalBd() As String
On Error Resume Next
'-----------------------------------------------
'Localiza a pasta do Banco de Dados em execução
'-----------------------------------------------
fncLocalBd = Application.CurrentProject.Path
End Function
'--------------------------------------------------------------------------
Private Function fncJaConfigurado() As Boolean
Dim reg As Object
Dim CaminhoGravado As String
Set reg = CreateObject("wscript.shell")
fncJaConfigurado = False
On Error Resume Next
'---------------------------------------
'Captura o caminho da pasta no registro
'---------------------------------------
CaminhoGravado = reg.RegRead(CaminhoLoc & "\path")
'------------------------------------------------------------
'Compara o caminho da pasta do registro com o caminho atual
'------------------------------------------------------------
If CaminhoGravado = fncLocalBd Then fncJaConfigurado = True
Set reg = Nothing
End Function
'--------------------------------------------------------------------------
Private Function fncCaminhoLoc() As String
Dim caminho As String
Dim nomeBd As String
'-------------------------------------------------------
'Captura o nome do seu aplicativo para cria o nome da
'pasta no trusted locations
'-------------------------------------------------------
nomeBd = CurrentProject.Name
nomeBd = Mid(nomeBd, 1, InStr(nomeBd, ".accd") - 1)
'--------------------------------------------------------------
'Monta caminho do registro em função da verão atual do Access
'e do nome do seu aplicativo
'--------------------------------------------------------------
caminho = Replace("HKEY_CURRENT_USER\Software\Microsoft\Office _
\[v]\Access\Security\Trusted Locations\[bd]\", "[v]", Application.Version)
caminho = Replace(caminho, "[bd]", nomeBd)
'------------------------------------------
'Passa o caminho do registro para a função
'------------------------------------------
fncCaminhoLoc = caminho
End Function
E na Macro?
Uso Access 2010 e só tenho a opção de chamar a função. No exemplo dele exige a Condição.