问题标签 [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 投票
2 回答
731 浏览

c# - 确定 MS 项目任务沿袭

我有一个 MS 项目文件,我正在使用主互操作程序集进行解析。如何确定任务的沿袭?我依赖于 WBS 代码,但是客户端已经开始摆弄这个字段,它不再代表数据的层次结构。

编辑:通过血统,我的意思是一种确定任务存在于层次结构中的位置的方法。默认情况下,WBS 代码完美地模仿了这一点。

我需要这些信息来确定任务的父级。

例子

  • 一种
    • B1
    • B2
    • B3
  • C

B3 的血统为 2.3(如果我们按 1 计数,如项目)

0 投票
2 回答
2360 浏览

.net - .NET/COM 互操作问题 - 打开 Outlook 2003 发送邮件对话框

我们有一个用 VB.NET (CLR 2.0) 编写的 WinForms 应用程序,它可以处理很多与 Outlook 相关的事情。我们所做的其中一件事是以编程方式打开一个新的 Outlook 2003“撰写新电子邮件”表单,其中预先填充了“收件人”地址。

现在,这几乎在我们部署应用程序的任何地方都能完美运行——用户填写电子邮件主题和文本,单击发送,我们可以捕获发送事件并做其他好事。

只有几个安装它坏了,我们只是无法深入了解它。

以下是否表明问题可能出在哪里:

据我们所知,这些只是 Office 2003 安装,带有 Outlook 和 Word,就像在正常工作的情况下一样。

我将非常感谢任何想法 - 无论是关于如何解决这个问题,还是关于实现相同目标的更好方法。

0 投票
1 回答
7338 浏览

c# - 使用 Excel 2007 互操作和 C# 设置单元格的格式

我正在使用 Office 2007 互操作程序集来创建一些 Excel 电子表格。

这里有很多关于入门的问题,MSDN 包含大量文章,比如这篇

API 很时髦,有时有点混乱。

当我设置一个单元格的值时,有没有办法设置它的格式?我想将特定字段标记为日期,以便我的客户可以在它们上运行 excel 宏。此外,数字会很有用。

谢谢!

0 投票
0 回答
854 浏览

ms-office - VS 2005 against Office XP PIA on system with Office 2003/2007?

On my development system, I am running Office 2007, and previously had Office 2003 installed, and thus have the Microsoft Office 11.0 and 12.0 Object Models available. Our production environment is in the process of being upgraded to Office 2007, but it hasn't happened yet - still running Office XP in production, and I need to be able to debug an (inherited) VB.Net (VS 2005) app that uses Office Interop against Office XP (10.0) (Excel).

Can I simply download, install, and reference the Office XP PIA's (http://www.microsoft.com/downloads/details.aspx?familyid=C41BD61E-3060-4F71-A6B4-01FEBA508E52) in order to compile an run the app? A previous build has been tested against Office 2007 and it seemed to work with the "old" interop/PIAs.

I have the "old" Interop.Excel, etc., the only reference that is giving me a problem is the Microsoft Office 10.0 Object Model (which says Microsoft Office 12.0 Object Model but has an Exclamation mark in my IDE).

I also found http://www.codeproject.com/KB/office/Compile2003VstoVista2007.aspx (for Office 2003 on a system with 2007) which suggests installing the older version of Office and then massaging the project files in a text editor. While I don't mind using a text editor on the project files, I'd prefer not to install Office XP unless I have to (I have access to it if I do). And I'd prefer to be able to load the project as is (with the "old" reference).

0 投票
6 回答
3663 浏览

c# - 从 Microsoft Word 中提取数据的最佳方法

软件的发行说明有一些我想在每个发行版中提取的重要数据。有没有办法从 Microsoft Word 中提取某些信息?

我正在考虑的应用程序将用 C# 编写,但如果它是任何其他解决方案,我可以。

0 投票
3 回答
1835 浏览

vb.net - Using the Office Interop for Word and Outlook 2007 in VB.NET

I need interop in my programs to automate several functions in Word and Outlook. Does anyone know a good place to start. My goal is to kick off a mail merge, create several different files and save them accordingly, then e-mail the different files to different people based upon who needs what. Any help learning how to use the interop properly would be greatly appreciated.

I am currently using Visual Studio 2008 and Office 2007 and use vb.net to write my programs.

0 投票
5 回答
4834 浏览

asp.net - Office 与 ASP.NET 中的 64 位 Windows 互操作

我正在尝试在运行 Windows 2003 64 位的服务器上使用 C# ASP.NET 进行 Office 2003 互操作(尽管我在 32 位模式下运行 IIS)并收到如下错误消息:

机器默认权限设置不会将具有 CLSID {00024500-0000-0000-C000-000000000046} 的 COM 服务器应用程序的本地激活权限授予用户域\用户名 SID (SXX-XX-XXX-XXXX-XXX-XXXXX) . 可以使用组件服务管理工具修改此安全权限。

有人知道我需要改变什么才能让它工作吗?谢谢,如果你能帮忙。

编辑 - 这在 32 位服务器上运行良好。

编辑 2 - 似乎没有人喜欢这个,但我不确定根据我们的要求还有其他方法。如果您能想到一个,我已经打开了另一个问题替代办公室互操作用于文档生成

0 投票
8 回答
8680 浏览

asp.net - 用于文档生成的 Office 互操作的替代方案

目前,我们正在使用 office interop 从 office 2003 中的模板(word、excel 和 powerpoint)生成文档。这似乎很不受欢迎(请参阅office-interop-with-64bit-windows-in-asp-net),虽然它工作正常,但我会对支持的解决方案更满意。

有什么非hacky方法可以做到这一点?要求是

  1. 仅限 Office 2003。(不允许使用 office xml / office 2007 兼容包)
  2. 必须从 ASP.NET 运行服务器端
  3. 必须能够从用户提供的 .dot、.xlt 和 .pot 模板创建 Word、Excel 和 Powerpoint 文档
  4. 必须能够通过在某些点替换某些文本来进一步自定义文档,例如名称、地址等
  5. 免费或非常低的费用。我将无法提出采购订单来更换工作系统,因为某些网站上的四个人认为这是一个肮脏的黑客;)

我不确定有没有更好的方法。在那儿?

0 投票
2 回答
4606 浏览

c# - 将数据表导出到多个 Excel 工作表中

我有大量的数据表,我想将它们导出到几个 Excel 工作表中(在一个新的电子表格/Excel 文件中)。我的代码中已经存在的“解决方案”是两个嵌套for循环,遍历所有行和列,逐个单元格地插入数据。这并不理想,因为该过程需要超过 10 分钟。由于生成的电子表格为 8.5MB,因此数据量相当大,但肯定有更快的方法吗?

我正在使用 Office 互操作库来执行此操作;我想我记得在某处读过你可以用这些导入 CSV。如果是这种情况,将 DataTables 转换为 CSV 然后将其导入 Excel 是否会更快,如果是,如何?

0 投票
1 回答
1756 浏览

wpf - Excel & WPF 模态表单

我有这种情况。(.net 3.5)

使用 OleAutomation 和 Office Interop 创建 Excel、工具栏和工具栏中按钮的处理程序的 Winform 应用程序。

现在我们有了一些功能,可以使用以下方法显示用户模式窗口(winform 2.0):

并且模态表单的“所有者”设置为“excel”窗口。

由于新功能的布局要求,现在我想创建一些 WPF 窗口而不是 Winforms。

有什么方法可以显示 WPF ModalDialog “over” excel Window 吗?

我找到了一些可以“在”winform 上显示 WPF ModalDialog 的东西,但没有超过 excel。

谢谢。