首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在即时模式下访问Word类的类成员

无法在即时模式下访问Word类的类成员
EN

Stack Overflow用户
提问于 2019-07-26 13:18:14
回答 1查看 186关注 0票数 1

我正在编写一个vb.net桌面应用程序,它使ms-word自动化。定义从word对象模型中提取的类型的变量,在调试时,我不能以立即模式访问这些类的成员元素。当代码运行时,我可以从代码中访问它们。

代码语言:javascript
复制
Private Sub BlackOut(aRange As Word.Range, CharLimit As Integer)

  MsgBox(aRange.Characters.Count) 'This works

End Sub

运行代码和访问aRange.Characters.Count工作得很好。但是,当设置断点并在“立即”窗口中键入行? aRance.Characters.Count时,我会得到以下错误消息:

错误BC30456:“字符”不是“范围”的成员。

奇怪的是,输入? aRange.Text可以在即时窗口中工作。

我以前从没见过这个。有人能帮我解决这件事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-26 14:57:03

这是由于在单词互操作程序集引用(Interop.Microsoft.Office.Core、Interop.Microsoft.Office.Interop.Word和Interop.VBIDE)上设置了"Embed类型“设置为True。当此设置为True时,编译器只提取代码中使用的类型定义并将其嵌入到程序中。这是有用的,因为它消除了将这些Dll与您的程序一起包含在内的需要,但是在调试期间很难“编辑并继续”,因为调试会话不再可以使用完整的类型信息。解决方案是在开发过程中不要嵌入程序集。

在解决方案资源管理器中,单击“显示所有文件”按钮,以显示“引用”节点。单击该节点以展开它。按住Control键,选择以下图像中显示的三个文件。

选择这些文件后,按"F4“键显示它们的属性。

将"Embed类型“更改为False (这样做也应该将”复制本地“更改为True

准备发布应用程序时,请将这些属性更改回。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57220902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档