我有一个场景,其中一个(非常旧的)内部网有问题,从Internet Explorer中使用VBScript打开办公室。场景:
- 用户点击超链接
- 被重定向到以下asp页面:
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<SCRIPT LANGUAGE=VBScript>
Set objOutlook = CreateObject("Outlook.Application")
Set myItem = objOutlook.CreateItemFromTemplate("<%=template%>")
myItem.Display
myItem.To = "<%=EmailTo%>"
myItem.Display
window.close()
</SCRIPT>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
</head>
<body bgcolor="#1d4392" >
</body>
</html>
- Outlook启动,从磁盘加载模板
- 最终用户编辑并发送电子邮件
不幸的是,最终用户会看到以下错误:VBScript: ActiveX component can't create object: 'outlook.application'
一些信息:
- IE11
- Office 365 64bit
- win10笔记本电脑
- 页面停止工作,因为用户迁移到笔记本电脑而不是使用基于rds的环境
- 页面在我的本地机器上完美运行(这不是域名加入,因为我是一名顾问,也是Win10, O365)
- 在事件查看器中,我可以看到Outlook启动,所以我很确定这不是IE安全配置问题,该页面在本地intranet模式下运行,其中VBScript是明确允许通过GPO
- 我也测试了Word,同样的问题
我尝试过的事情:
- 重新安装办公室
- 修复办公室
无法创建对象;在大多数情况下,是由以下原因引起的:
- 未安装的组件
- 未在注册表中注册的组件(或以32位注册但未在64位注册,或相反)
- 权限问题。确保用于运行IIS应用程序池的Windows用户帐户具有read + execute包含组件DLL及其相关DLL的文件夹的权限。您可以使用Process Monitor对执行链进行故障排除:https://www.howtogeek.com/school/sysinternals-pro/lesson4/
可从https://learn.microsoft.com/en-us/sysinternals/downloads/procmon
下载