问题标签 [office-interop]

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 投票
1 回答
825 浏览

visual-studio-2010 - C# 4.0 动态 Office 互操作性能

我采用了一个在 Visual Studio 2008 中开发的应用程序,并通过 COM Interop 使用了各种 Office 库。我使用 dynamic 关键字和 Visual Studio 2010 开始了一些概念开发验证。我发现使用 dynamic 执行相同任务的速度比“旧”方式慢大约 5-10 倍。有没有其他人经历过这种程度的性能下降?这是已知的还是我应该找到一种方法来报告这个?

0 投票
2 回答
1441 浏览

c# - 错误 - 索引超出列表末尾

使用 Excel COM 库将文件保存回 SharePoint 时出现问题。我打开文件,但它以“xlviewer.xlsx”打开,所以我假设我需要覆盖原始文件。(我删除了 try/catch 以进行一些错误处理。)当我这样做时,我收到此错误:“索引引用超出列表末尾”(行错误:42 'SaveAs statement')

0 投票
1 回答
1699 浏览

.net - 是否可以请求对 VBA 项目对象模型的临时可信访问?

我需要通过 .Net / C# 访问 Office 文档(Excel 工作簿,但不相关)的 VBA 代码。我知道如何执行此操作,但这需要 Office 用户已通过 Office 应用授予对 VBA 项目对象模型的受信任访问权限。
这让我感到不舒服,因为存在用户以这种方式设置事物的风险,这是不可取的,并且因为这需要用户在未授予访问权限时触发 Office 应用程序并更改设置,这并不令人愉快为用户。
我相信 .Net 代码不能自动更改该设置(这很好),但是有没有办法询问用户他/她是否想暂时授予授权?或者有没有办法在安装时专门为我的应用程序授予对 VBE 的访问权限?
我的假设是这些都不可行,但我认为如果有人知道答案,他/她会在 StackOverflow 上 :)
作为奖励问题,有谁知道如何以编程方式检查 Office 应用程序是否已授予访问权限VBA 项目对象模型(没有 try/catch 是...)?

0 投票
2 回答
14980 浏览

c# - C# Outlook interop 和 OpenSharedItem 用于打开 MSG 文件

为了使用 OpenSharedItem Outlook 互操作方法,我可以遵循任何教程或资源吗?我的目标是使用它读取 MSG 文件(因为它显然可以这样做)。

0 投票
4 回答
6557 浏览

c# - C# Outlook 2007 COM 互操作应用程序不退出!

为什么以下代码不退出通过 COM 互操作创建的 Outlook 2007 进程的任何想法?

使用 Word 的几乎相同的片段可以工作,所以我想知道我是否忘记清理某些东西......

0 投票
2 回答
2733 浏览

c# - 打开/处理 Word 文档,例如 SharePoint

在使用 asp.net 在服务器上处理 Word 文档 (.docx) 时,谁能指出我正确的方向。

我知道我可以使用提供的 API 读写 .docx 文档。

但我想像 SharePoint 那样实现它。用户浏览网站,登录,然后选择在文件夹中创建一个新的 Word 文档,然后 Word 文档下载并在本地打开。然后我希望用户能够将文档保存回服务器。

或者,是否有任何好的组件可以在浏览器中读取/写入 Word 文档。我尝试过使用 Telerik 编辑器组件,但没有任何运气。

0 投票
2 回答
2808 浏览

.net - Microsoft Outlook 视图控件

我正在使用 Microsoft Outlook 视图控件,试图了解它的功能,但我并没有走得太远。它在设计时出现,但在运行时只给出“E_CLASSNOTREG”异常。我如何找出它在抱怨什么课程?

我刚刚创建了一个winform项目,将控件添加到工具箱中,然后将其拖到窗体中。我在设计时看到了我的 Outlook 收件箱。它添加了以下代码:

然后我运行它,它死在我身上:

...例外是在 EndInit()。

另外,另一个奇怪的事情是,每次我在设计器中单击控件时,Visual Studio 都会冻结一段时间,有时短至 30 秒,有时我必须杀死 Outlook 任务才能让 VS 响应。

我在 Windows 7 x64 上运行带有最新补丁/SP 的 VS 2008,并且我有安装了所有最新补丁和服务包的 Office 2007。

为什么这在设计时对我有用,但在运行时却失败了?我怎样才能找到它正在寻找的未注册的内容?

0 投票
6 回答
4916 浏览

asp.net - 在未安装 Excel 的服务器上生成 Excel 文件

我正在使用Microsoft.Office.Interop.Excel该方法使用和生成 Excel 文件SaveAs。这一切都可以在安装了 Excel 的计算机上正常工作。但是,我的服务器没有安装 Excel。

如何生成我的文件?

0 投票
2 回答
2267 浏览

outlook - 是否可以以编程方式重命名 Outlook 类别?

我们正在开发 Outlook 2007 插件。为了测试 Outlook 类别重命名,我添加了以下代码块

到加载项private void ThisAddIn_Startup(object sender, EventArgs e)方法的末尾。类别已重命名,但如果 Outlook 已关闭,则注释上述行,并重新启动 Outlook - 类别名称不是“TEST!!!” 正如我所料。它是重命名前的“Group1”。是否可以通过代码将 Outlook 类别“永远”重命名?Microsoft.Office.Interop.Outlook.Category 没有 Save() 或 Update() 或 Persist() 方法。

PS 我们正在使用 Visual Studio 2008、.net 3.5、C# 3 开发 Outlook 2007 插件。该问题在 Outlook 2007 SP1 和 SP2 中重现。其他 Outlook 版本未经过测试。

0 投票
1 回答
1969 浏览

c# - 在 C# 中设置 Word 属性有问题吗?

我编写了简单的代码来打开一个 Word 文件 (.docx) 并为该文件设置属性。这段代码完全可以自己工作。但是当 C# 打开 Microsoft Word 时,我应该更新所有字段以查看从我的代码更新的真实值!

我想知道,当 Microsoft Word 打开时,我在代码中做了什么,所有属性都具有真实值并且不再需要自己更新属性?

这是我的代码:

提示:字典属性包含属性名称和值。