Excel电子表格需要编程访问其Project
结构。但是,默认情况下禁用此访问。它可以通过编程来启用,通过在这个片段中写入注册表:是否启用安全保护功能
Set wsh = CreateObject("WScript.Shell")
'key to modify'
str1 = "HKEY_LOCAL_MACHINE\Software\Microsoft\Office\" & Application.Version & "\Word\Security\AccessVBOM"
'enable access'
wsh.RegWrite str1, 1, "REG_DWORD"
'read the vba project name'
MsgBox Application.NormalTemplate.VBProject.Name
'disable access'
wsh.RegDelete str1
虽然这是可以做到(和复位)程序,这可能会造成安全问题。
在我的项目中,它试图修改Project
结构,如果不能,则会抛出错误。该错误可以被捕获,并且此时它可以运行该代码段以启用访问或向用户显示错误消息以手动启用访问。通过程序启用访问,稍后可以禁用,还是指示用户这样做会更好吗?
我发布了这个问题的最佳做法标签,因为担心写作“粗鲁“软件。你提到的只有在启动时才读取设置的Office可能会导致这种情况 - 它是否在打开文件或打开应用程序时检查注册表? – 2009-07-15 15:05:10