VBA'set typelib = createobject(“scriptlet.typelib”)'Permission Denied

我的代码有问题,似乎已经过夜了。 这有一些特点,所以我会尽量给予尽可能多的细节。

有问题的文件是一个Excel工作簿,它从传入的数据生成一个XML文件。该文件打开,通过macros填充和保存,这部分运行良好。

在此例程中为.xml创buildGUID时,会出现问题:

Function GenGUID() As String Dim strGUID As String Dim TypeLib As Object Set TypeLib = CreateObject("Scriptlet.TypeLib") strGUID = TypeLib.guid 'dump the curly brackets strGUID = Replace(strGUID, "{", "") strGUID = Replace(strGUID, "}", "") strGUID = Left(strGUID, Len(strGUID) - 2) GenGUID = strGUID End Function 

具体而言,该行:

 Set TypeLib = CreateObject("Scriptlet.TypeLib") 

这会引发“运行时错误70:权限被拒绝”。

现在,特点。

  • 在四台机器中,这个文件被试用了,它可以在其中一台机器上运行。
  • “工作”机器的用户试图在其他3台机器上运行该文件无济于事。
  • 在3台“破”的机器中,2台在一夜之间安装了更新,另外几台在几天内没有更新。 自2月份以来,“正在运行”的计算机尚未安装更新程序。
  • pipe理员帐户已尝试运行该文件以排除通宵更新权限。
  • 该文件昨天(2017年7月12日)在“破”的机器之一运行良好。
  • 所有参考库已经被检查,并且与“工作”机器匹配。
  • 在所有4台机器上使用的Excel版本是2013 Pro。

上面的突出是更新问题。 但是,昨天的文件运行良好的机器是“破”的机器没有在一夜之间更新,排除了这一点。

我们尝试了所有我们能想到的,以及大量的networking拖网寻求答案。 一切都没有提出。

有没有人有任何想法?

在此先感谢您的帮助。

我们今天早上也遇到了这个问题。

删除Windows更新KB3213624。 这解决了错误。

KB3213624似乎是Office 2010安全更新。 下面是其他版本的MS Office的KB:

 Microsoft Office 2013 Service Pack 1 (64-bit editions) 3213555 Microsoft Office 2013 Service Pack 1 (32-bit editions) 3213555 Microsoft Office 2007 Service Pack 3 3213640 Microsoft Office 2016 (32-bit edition) 3213545 Microsoft Office 2010 Service Pack 2 (32-bit editions) 3213624 Microsoft Office 2010 Service Pack 2 (64-bit editions) 3213624 Microsoft Office 2013 RT Service Pack 1 3213555 Microsoft Office 2016 (64-bit edition) 3213545 

我们现在解决了我们的问题。

这显然是由更新引起的。 在所有“破碎”机器上回滚最后一批更新之后,我们现在有4台“工作”机器。