Καλημέρα!
Για να λειτουργήσει ένα αρχείο *.mdb, *accdb με Access 2010 (Runtime) που περιέχει μακροεντολές,
θα πρέπει να προστεθούν τα κατάλληλα κλειδιά και τιμές στο μητρώο των Windows σε επίπεδο χρήστη ( HKEY_CURRENT_USER - κάτι που κάνει η κανονική εγκατεστημένη έκδοση από την επιφάνεια εργασίας της εφαρμογής).
Αποσυμπιέσετε το συνημμένο αρχείο SetCurrentFolderToAccTrustedLocations.zip,
τοποθετήστε το
SetCurrentFolderToAccTrustedLocations.vbs που περιέχεται στον φάκελο που θα θεωρηθεί ως αξιόπιστη θέση και εκτελέστε το με διπλό κλικ.
Αν τα κλειδιά περαστούν με επιτυχία στο μητρώο των Windows τότε τα αρχεία που ανοίγουν με Access Runtime θα πρέπει να λειτουργούν κανονικά.
Εγώ προσωπικά το δοκίμασα σε υπολογιστή με εγκατεστημένο Office 2003 και Access 2010 Runtime.
Ο κώδικας (vbscript) που περιέχει το αρχείο *.
vbs είναι:
Κώδικας:
Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Office\14.0\Access\Security\Trusted Locations"
oReg.CreateKey HKEY_CURRENT_USER, strKeyPath
strValueName = "AllowNetworkLocations"
dwValue = "00000001"
oReg.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue
strLocPath = "Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\Location111"
oReg.CreateKey HKEY_CURRENT_USER, strLocPath
strValueName = "Path"
strValue = currentDir & "\"
oReg.SetStringValue HKEY_CURRENT_USER, strLocPath, strValueName, strValue
dwAllowSubFolders = "AllowSubfolders"
dwBlnValue = "00000001"
oReg.SetDWORDValue HKEY_CURRENT_USER, strLocPath, dwAllowSubFolders, dwBlnValue
Function currentDir()
Dim l
l = Len(Wscript.scriptname)
currentDir = Left(Wscript.scriptfullname, Len(Wscript.scriptfullname) - l - 1)
End Function
Φιλικά
Τάσος