这个脚本(对Rob van der Woude之一的修改)在XP 32位上工作正常,但在Set objDialog = CreateObject( "UserAccounts.CommonDialog" )
的7 64位上失败,类似于错误(从荷兰语翻译){ {1}}。是否有一些不同的方法可以让它与Windows 7兼容?
ActiveX cannot create the object "UserAccounts.CommonDialog"
答案 0 :(得分:3)
网上有一些证据表明Windows Vista(因此,Windows 7)未提供“UserAccounts.CommonDialog”。
例如,请参阅http://www.msghelp.net/showthread.php?tid=88579
该主题中的最后一个条目建议使用MSComDlg.CommonDialog,但有一些注意事项或使用GetOpenFileName API。
如果不是这样,那么检查您的注册表,并在执行CreateObject时检查脚本在ProcMon中的操作。您可能遇到“位数”问题,其中您的脚本在64位进程中运行但尝试访问32位COM对象。如果是这种情况,您将在CreateObject(“WScript.Shell”)上看到错误。
答案 1 :(得分:0)
也许您需要重新注册comdlg32.dll? Reference