问题标签 [vsto]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
6122 浏览

c# - 使用 VSTO 而非 VBA 创建 UDF

类似于这个问题(但在我的情况下不是 VSTO SE),但是,我只想确认在 Visual Studio 2005 和 Excel 2003 中使用纯 VSTO 创建 UDF 是不可能的 - 所以,绝对清楚,我的问题是:

是否可以在不使用任何 VBA 或其他技巧的情况下使用 Visual Studio 2005 和 VSTO 解决方案创建 Excel 2003 UDF?

我知道 ManagedXLL、ExcelDNA、Excel4Net 等,但暂时不想考虑这些。

谢谢

0 投票
4 回答
7240 浏览

c# - 如何从单独的 C# 项目调用 VSTO AddIn 方法?

我有一个 C# Excel 插件项目“MyExcelAddIn”,它有一个公共方法 Foo() 来做一些复杂的事情。出于测试目的,加载项还定义了一个工具栏按钮,该按钮连接到 Foo(),因此我可以对此进行测试并验证单击该按钮是否调用 Foo() 并执行我希望它执行的操作。这可以。

现在我想从 C# Windows 窗体项目中调用此方法。在 Windows 窗体项目中,我可以创建一个 Excel 实例并使其可见并验证我的 VSTO 加载项是否正在运行,因为我可以看到该按钮并且它工作正常。但我不知道如何从 Windows 窗体项目中以编程方式调用 Foo()。我用谷歌搜索了一下,得到了“MyExcelAddIn”COMAddIn 对象,但不知道如何调用 Foo()。

它看起来像这样:

所以我想知道如何从我的 Windows 窗体应用程序中调用 Foo()。请注意,我可以完全控制 Windows 窗体应用程序和加载项,并且我怀疑我必须对它们进行更改(尤其是加载项),但我不知道如何执行此操作。

请注意,这是一个 VS2008 C# 应用程序,我使用的是 Excel 2003。

0 投票
1 回答
3703 浏览

vsto - Outlook 加载项功能区上的工具提示

我使用 VSTO 2008 创建了一个 Outlook 加载项。我没有为此加载项创建单独的功能区/组。相反,当 Outlook 启动时,VSTO 会在内置功能区中自动创建加载项按钮。现在如何自定义该加载项图标的工具提示?

这是为我的加载项添加标签和图标的片段

谢谢

0 投票
1 回答
5040 浏览

c# - 通过功能区代码隐藏在 Word 中打开文件

使用 VSTO,我在功能区设计器中创建了一个自定义选项卡,并在那里添加了一些组和按钮控件。当用户单击其中一个按钮时,我想连接到 SharePoint 网站并在 Word 中打开一个 Word 文档(实例已打开)。我已经能够连接到 SharePoint 网站并拥有我想要打开的文档的 URL。

但是我怎样才能真正将这些文档加载到 Word 中呢?我已经在 Word 中的代码隐藏中,那么如何定位我所在的 Word 实例并在那里打开文件?

提前致谢。

0 投票
1 回答
520 浏览

vb.net - 如何捕捉 Microsoft Word 文档第一页上的文本?

使用 VB.NET 如何捕获 Microsoft Word 文档第一页上的文本?我已经导入了 Word 12 互操作库(用于 Word 2007),并且我知道如何使用 document.range 函数,但是当你选择文本时,你怎么知道你在哪个页面上呢?

0 投票
0 回答
434 浏览

outlook - 为什么 Outlook 2007 插件中的表单区域保持对基础对象的引用处于打开状态?

我在 Visual Studio 2008 (SP1) 中创建了一个空的 Outlook 2007 插件项目。然后我添加了一个新的表单区域(联系人类型,已连接,否则为默认值),然后运行该项目。

Outlook 打开,我去一个联系人更改了几件事,然后单击关闭按钮。Outlook 询问我是否要保存,我选择否。

我的理解是,这应该重置我所做的所有更改。但是,如果我重新打开同一个联系人,我的所有更改仍然存在。如果我关闭整个 Outlook,它会重新提示我保存我更改的联系人。

这让我想到默认的表单区域模板实际上保留了对正在显示的联系人的引用,并且在表单区域关闭后不会处理它。这会导致触点在内存中,而不是在关闭表单后简单地设置。

任何人都可以复制,还是它是一个功能?有什么办法可以解决这个问题?

0 投票
8 回答
1868 浏览

.net - Visual Studio 2008 中的错误编译程序

所以我以前从未见过这个问题,也不知道从哪里开始解决这个问题。

我从哪里开始解决这个问题?

我应该提到这是一个带有 VS2008 SP1 的 VS2008 环境,这个解决方案是:
1. VSTO Excel 2007 项目 (C#)
2. 数据访问/服务层 DLL (C#)
3. #2 (C#) 的 MbUnit 测试项目

更新: 我应该补充一点,这几个月都可以正常工作。上周左右我唯一改变的是我已经开始通过 Team Foundation Server (TFS) 编写代码。

更新2: 删除.suo文件工作了一段时间。现在我又遇到了同样的错误....嗯。猜猜我会关闭项目.suo再次删除。

更新 3: VS2008 将允许我编译一次解决方案。第二次尝试时,我得到了错误。如果我退出,删除.suo文件,然后重新打开,我可以再次编译一次。对原因有什么想法吗?这是VS2008 SP1的东西吗?

对于赏金,我正在寻找永久解决方案。

0 投票
2 回答
2676 浏览

vba - 是否可以为 Outlook 开发像 Gtalk 这样的聊天插件?

我的公司使用 Outlook 作为电子邮件客户端,我们登录到 Exchange 服务器。出地址簿(不是个人联系人)将所有用户连接到我们公司的网络。

我们公司没有 IM ;-( .. 我正在考虑开发像 Gmail 的 Gtalk 这样的 Outlook 插件。这可能(技术上)吗?或者有多难?我能否获得所有用户的列表(来自通讯簿) 谁打开了他们的 Outlook 以便我可以在在线列表中显示他们?我可以在没有 DB 的情况下执行此操作(只需将消息发送给收件人并显示)吗?

Outlook 开发对我来说是新的,这个问题中的链接对我没有多大帮助(非常令人困惑)。我从哪里可以获得一些基本教程?

编辑:我在 Outlook 中使用过 VBA。因此,如果上述可以使用 VBA 实现,那就太好了;-) 这可能吗?

0 投票
2 回答
2615 浏览

c# - 将 VSTO Word 2007 模板应用程序保存到 docx 而不提示保存模板

重现步骤:

  1. 创建 Word 2007 模板项目 (Visual Studio 2008 Professional SP1)
  2. 将 DateContentControl 放在文档上
  3. 保存、发布、打开 .dotx
  4. 修改 DateContentControl,保存
  5. 单击否,关闭 Word
  6. 打开已保存的文档,修改 DateContentControl - 后续保存不再提示...
  7. 更改项目代码,发布,更新 V​​STO 应用程序,打开 .dotx,重复步骤 4

Word 2007 模板应用程序如何允许用户在不提示保存的情况下修改文档?

0 投票
1 回答
856 浏览

c# - Outlook 加载项开发问题

我正在阅读“Microsoft Office Outlook 编程应用程序:2007”一书。在示例代码中..

上面代码的问题是我在任何地方都找不到 OutlookItem 类。由于我是 Office/Outlook 编程的新手,因此我需要一些指导。请让我知道如何将 Selection 中的项目作为通用 Outlook 项目访问,而不是指定或强制转换为 MailItem 或 AppointmentItem。