mary r said:
Thanks for the article, Albert.
Would I be able to, say, set macro security to Low in the script, run the
Access macro, then reset macro security to its previous level?
Making a permanent change to the customer's security setting is not an
option, and creating digital signatures for code that's at least 95%
legacy
would be a last, last resort.
We only had the macro security since 2003, and I do as a rule set macro
security to low.
I mean, it must be annoying for these people that every time they open
ms-access they receive a nag screen about macro security? (do they really
deal
with this issue this way all day long?).
Remember if the users don't have the registry locked down, then any other
program that they attempt to run could also set the macro security to low!
So, at the end of the day this is not really much security then? (this just
amounts to a NAG the users all day long kind of thing).
You are asking for the ability to have a process run something without any
kind of security prompt, and yet the company has a policy to have security
prompt in all their applications that run. I mean if they're bringing in a
contractor into the building, either they have a policy to give the person
keys to get in after hours, or the they don't. There's really not much you
can do here. Their policies means that you can't run the software
unattended, and it really that simple.
I suppose we could extend the sample script I have on my site to read the
macro security, then set the macro security low, and then run/launch
ms-access. Then set macro security back to what it was. The ability of the
script to do this is going to depend on permissions that users have. (think
vista will trigger a UAC prompt).
Some code for a script to read the registry can be found here:
http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/registry/
The value in the registry to set access macro security for 2003 is:
ROOT:Local Machine
Key: Software\Microsoft\Office\11.0\Access\Security
Name:Level
Value:#00000001
So, you can take the above code + above registry value and try this out.
Note that in above value of 1 = low).
If the above works, then add it to my sample script....
Another possibility is to have one computer setup in whch they set macro
securty = low (presumably this would be the computer in which the scheduled
task is to run at the given time). After all you're talking about scheduling
some kind of piece of software that's going to run unattended without any
user intervention.