VS2017 不能创建 vsto Excel 工作簿程序的问题
2017-06-20 14:30
916 查看
最近想写个小程序,是基于vsto的excel 扩展程序。
打开vs2017,创建时,却提示 不能创建项目(创建项目失败,Project cannot be created)。原本以为很顺利的,不相处了这个bug。
我是安装的vs2017社区版,office 是前几个月公司购买的 office 2016 标准版。百度了,有几下几个方面,但都不是我的原因(我也列下来,也许能解决你的问题)
1,vs要用管理员权限打开
2,office 加载项要正常没有异常,信任中心也要吧两个选项去掉:
3,注册表 的 hkey-class-root/.xlsx 的默认键值要改成 Excel.Sheet.12
但是这都不是我的问题,也就是我的以上都没有问题。
查系统日志,为看到以下的错误:
错误应用程序名称: EXCEL.EXE,版本: 16.0.4510.1000,时间戳: 0x58a36f28
错误模块名称: VSTOExcelAdaptor.dll,版本: 15.0.26112.1,时间戳: 0x5878595f
异常代码: 0xc0000005
错误偏移量: 0x000278a7
错误进程 ID: 0x38b4
错误应用程序启动时间: 0x01d2e9030814b9b1
错误应用程序路径: C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE
错误模块路径: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\x86\VSTOExcelAdaptor.dll
报告 ID: 375cfa47-b318-4ef6-bf34-9d95cf5c1492
错误程序包全名:
错误程序包相对应用程序 ID:
基本怀疑是加载项执行失败,但是具体什么原因还是摸不着头脑。FQ出去谷歌,查到了n多帖子。也有好多老外在为这个事情头痛。终于找到一个帖子,微软的:
https://support.microsoft.com/en-us/help/4014433/project-cannot-be-created-or-excel-designer-cannot-be-activated-error-
提到一个可能的原因:There was an update to VBA that broke compatibility in VSTO Document-level scenarios. You will encounter this problem if you are using that version of VBA. To determine whether this is the cause of your problem, check the version of VBE7.dll to see whether it is 7.01.1056 (the full path is specified in the "More Information" section).
说人话就是,office的一个对 vba 的更新导致了对vsto文档级别的项目的不兼容。如果你的vbe7.dll的版本是 7.01.1056 的话,基本上就会存在这个问题,要找 7.01.1060 和以上的版本才可以。
我看了看我的,正好是这个版本,悲剧了。
微软发现这个问题后,给出了补丁,但是不像话的是,微软只给采用 click-to-run方式安装的office给了补丁(office365就是这种方式),但是对传统.msi方式安装的office则没有发补丁(正好我的就是这种方式),可恶的M$。
微软给出了两种方案:
1,找台使用office365的机器,更新到最新版本,用它的vbe7.dll替换掉你的这个文件
2,恢复到老的office版本。
对后一种方式代价太大了,我打算采取第一种看似比较廉价的方案。
1,网上搜这个dll,找不到符合要求的版本号。
2,求助同事。无所不能的群终于发出了威力,一个同事正好自己的个人机器上安装了 office 365 home/education edtion,他的vbe7.dll是 7.1.1068。
传过来覆盖过去,创建项目,成功!
打开vs2017,创建时,却提示 不能创建项目(创建项目失败,Project cannot be created)。原本以为很顺利的,不相处了这个bug。
我是安装的vs2017社区版,office 是前几个月公司购买的 office 2016 标准版。百度了,有几下几个方面,但都不是我的原因(我也列下来,也许能解决你的问题)
1,vs要用管理员权限打开
2,office 加载项要正常没有异常,信任中心也要吧两个选项去掉:
3,注册表 的 hkey-class-root/.xlsx 的默认键值要改成 Excel.Sheet.12
但是这都不是我的问题,也就是我的以上都没有问题。
查系统日志,为看到以下的错误:
错误应用程序名称: EXCEL.EXE,版本: 16.0.4510.1000,时间戳: 0x58a36f28
错误模块名称: VSTOExcelAdaptor.dll,版本: 15.0.26112.1,时间戳: 0x5878595f
异常代码: 0xc0000005
错误偏移量: 0x000278a7
错误进程 ID: 0x38b4
错误应用程序启动时间: 0x01d2e9030814b9b1
错误应用程序路径: C:\Program Files (x86)\Microsoft Office\Office16\EXCEL.EXE
错误模块路径: C:\Program Files (x86)\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\x86\VSTOExcelAdaptor.dll
报告 ID: 375cfa47-b318-4ef6-bf34-9d95cf5c1492
错误程序包全名:
错误程序包相对应用程序 ID:
基本怀疑是加载项执行失败,但是具体什么原因还是摸不着头脑。FQ出去谷歌,查到了n多帖子。也有好多老外在为这个事情头痛。终于找到一个帖子,微软的:
https://support.microsoft.com/en-us/help/4014433/project-cannot-be-created-or-excel-designer-cannot-be-activated-error-
提到一个可能的原因:There was an update to VBA that broke compatibility in VSTO Document-level scenarios. You will encounter this problem if you are using that version of VBA. To determine whether this is the cause of your problem, check the version of VBE7.dll to see whether it is 7.01.1056 (the full path is specified in the "More Information" section).
说人话就是,office的一个对 vba 的更新导致了对vsto文档级别的项目的不兼容。如果你的vbe7.dll的版本是 7.01.1056 的话,基本上就会存在这个问题,要找 7.01.1060 和以上的版本才可以。
我看了看我的,正好是这个版本,悲剧了。
微软发现这个问题后,给出了补丁,但是不像话的是,微软只给采用 click-to-run方式安装的office给了补丁(office365就是这种方式),但是对传统.msi方式安装的office则没有发补丁(正好我的就是这种方式),可恶的M$。
微软给出了两种方案:
1,找台使用office365的机器,更新到最新版本,用它的vbe7.dll替换掉你的这个文件
2,恢复到老的office版本。
对后一种方式代价太大了,我打算采取第一种看似比较廉价的方案。
1,网上搜这个dll,找不到符合要求的版本号。
2,求助同事。无所不能的群终于发出了威力,一个同事正好自己的个人机器上安装了 office 365 home/education edtion,他的vbe7.dll是 7.1.1068。
传过来覆盖过去,创建项目,成功!
相关文章推荐
- 关于布署asp.net程序时,不能创建虚拟目录的问题
- 关于poi/Npoi创建批注后,EXCEL不能显示,wps能显示的问题
- 解决使用微软模拟器VS Emulator for Android在VS2017 Xamarin开发中不能调试程序的问题。
- gdb调试程序不能显示线程创建信息问题
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- VSTO创建的Excel文档中序列型下拉列表造成文档无法打开的问题
- 2003下从网页中把数据导出到excel时,碰到"Automation 服务器不能创建对象"的问题
- vs2016 创建 vsto excel 文件项目的一个问题
- JS导出table数据到excel问题-Automation 服务器不能创建对象
- 关于Web程序打开Word、Excel后,不能关闭的问题的一个解决办法
- Automation服务器不能创建对象问题
- 使用VS2003创建WEB程序的时候出现"AutoMation服务器不能创建对象"错误
- asp问题之"ActiveX部件不能创建对象 "(2006.7.28)
- 在VSTO 2005下创建的Office CommandBarButton不能定义在过程内
- vc操作excel程序退出的问题
- 解决iis版本问题,不能在VS2003中创建asp.net应用程序的方法
- 十分棘手的问题,使用vs2005在文件系统机制下开发出来的web程序,配置到iis就不能正常运行?
- Web程序中利用web.config解决无法输出excel页面的问题
- flash embed fonts–动态创建文本时嵌入字体_解决_rotation和_alpha不能使用的问题
- ASP中使用FSO提示“Automation服务器不能创建对象”的问题