问题标签 [ms-office]

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 回答
34073 浏览

excel - 如何从 vba 调用 xll 插件函数?

我有一个第 3 方 XLL 插件,我想将其包装在我自己的自定义 vba 函数中。如何从我的代码中调用 3rd 方函数?

0 投票
1 回答
5159 浏览

ruby - 如何用 ruby​​ 解析 word 文档?

有谁知道我可以在 OS X/Linux 上使用来解析 Word 文件并将内容输出为 HTML 的库?

我看过win32ole,但据我所知,它仅适用于Windows,尽管我可能是错的。

有什么建议么?

0 投票
1 回答
153 浏览

ms-office - 将文本文档的内容分门别类,查看部分文本

当我浏览一个文本文档时,我通过突出显示不同颜色的句子来将内容划分为不同的类别。

我希望能够创建一组类别,然后检查文本并标记一个句子并将其分配给其中一个类别。然后可以选择查看仅包含一个或多个类别的句子的过滤文本。

我想知道open-office或microsoft office是否支持这个,如果没有,是否有插件,如果没有,有一些关于如何使用open office的api的指导。

0 投票
1 回答
4735 浏览

.net - .NET 互操作:使用 C# 查找正在运行的 COM 对象的所有实例

背景

我正在通过命令行工具自动化一些 Office 应用程序(Word 和 PowerPoint)。

我的工具需要做的一件事是找到所有正在运行的 Word 实例。

我知道如何获得对其中一个实例的引用......

我的问题

如何找到我正在寻找的应用程序的所有实例,而不仅仅是其中一个。

注意:虽然我的具体问题是关于 Office 应用程序的,但我对更一般的答案感兴趣。

0 投票
2 回答
2409 浏览

java - Java 连接到/在 Microsoft Windows Office Suite 之间?

我在别处读到(此处“hazzen”的回应),.NET 具有“此处概述的整个 Office 套件的绑定,允许您编写可以从 Office 调用的基于 COM 的方法。它旨在实现自动化,但您可以编写任何您想要的托管代码并让 Excel 调用它。”

我对 Java 也有同样的兴趣。我目前的解决方案运行一个启动 Java 的标准 Windows 程序,然后任何结果基本上都发送到标准输出,中间程序捕获这些并将结果反馈到 Excel - 也使用相当于标准输出的结果。

一定有更好的方法!

Java有这样的“绑定”吗?

我也会很高兴看到任何指向网络文章或你有什么关于这种集成问题的教导。

0 投票
3 回答
1000 浏览

visual-studio - Office XP 共享插件 VS 2008

我正在尝试使用 VS 2008 for Office XP(准确地说是 Excel)创建一个共享插件。但是,在 Visual Studio 中创建项目并更改对 Office XP 的引用(除了可扩展性,我似乎无法找到 office xp 的副本)并将 excel.exe 添加到引用中之后。我现在似乎无法在任何计算机上安装插件。

有没有人有关于使用 VS 2008(我可能添加的 Com 插件)编写 Office XP 插件的指南?

有谁知道我打算拥有的参考资料或我打算在电脑上安装的东西?

我有三台测试电脑,这台上有 office xp、2003 和 2007,我可以使用 2003 参考编写一个插件,在这台上运行,但没有其他盒子。一个只安装了office xp,还安装了office xp PIA 和.NET,另一个只安装了office xp。

任何帮助都会非常感激。

0 投票
4 回答
13952 浏览

visual-studio - 如何从 Visual Studio C# 使用 Office?

在 Visual Studio 中添加对 Office 的 COM 互操作的引用的技术是:

  1. 参考
  2. 添加参考
  3. 选择COM选项卡
  4. 选择Microsoft Office 11.0 对象库

神奇地命名参考出现:

Project.csproj文件显示了参考的详细信息:

并且该项目已签入源代码管理,一切都很好。


然后使用Office 2007的开发人员从源代码​​管理中获取项目,并且由于不存在这样的引用而无法构建它。

他(即我)签出 .csproj 文件,删除对

并将 COM 引用重新添加为

神奇地出现了一个命名引用:

Project.csproj文件显示了参考的详细信息:

并且该项目已签入源代码管理,一切都很好。


然后使用Office 2003的开发人员从源代码​​管理中获取项目,并且由于不存在这样的引用而无法构建它。

他(即不是我)签出 .csproj 文件,删除对

并将 COM 引用重新添加为

神奇地出现了一个命名引用:

Project.csproj文件显示了参考的详细信息:

并且该项目已签入源代码管理,一切都很好。

然后构建项目,将其压缩到CD上,然后发送给拥有Office 2007的客户。

一切都不好。


在过去(即在 .NET dll 地狱之前),我们会使用与版本无关的 ProgID来引用 Office 对象,即:

解析为已安装 Office 的clsid,例如

然后使用对 COM(语言神经伪代码)的调用构造其中的一个类:


问题

1) 自动化已安装的 Office 应用程序的批准技术是什么?

2) Office 2003 主要互操作程序集有什么用?

3) 如果我使用 Office 2003 主互操作程序集,我是否必须安装 Office 2003?

4) 如果我使用 Office 2003 主要互操作程序集进行构建,我的客户是否永远与 Office 20003 绑定?

5) 是否有任何Office 2007主要互操作程序集

6) 如果我安装 Office 2007 主互操作程序集,我是否必须安装 Office 2007?

7) 使用标准 COM 互操作来驱动 Excel、Word 或 Outlook 有什么问题?例如:

8) 当一个人添加一个

  • 参考COM 选项卡上的项目,
  • 与使用 [ComImport] 不同,
  • 而不是使用Office 2007 主互操作程序集

9) 使用COM 选项卡添加引用是否与使用COM interop相同,只是它需要一个类型库才能看到它?

10) Office 2003 主要互操作程序集是否向后和向前兼容: - Office 14 - Office 2007 - Office 2003 - Office XP - Office 2000 - Office 97 - Office 95

如果客户和开发人员安装了新版本的 Office,它还能工作吗?

11) 我们是否必须将 Office 2003 主要互操作程序集与我们的应用程序一起提供?

12) 客户是否必须安装 Office 2003 主要互操作程序集才能使用我们的应用程序?

13) 如果客户安装 Office 2003 主要互操作程序集,他们是否必须安装Office

14) 如果客户安装 Office 2003 主互操作程序集,他们是否必须安装 Office 2003

15) Office 2003 Primary Interop Assembles 是 Office 2003 的免费、精简、可再发行版本吗?

16) 如果我的开发机器安装了 Office 2007,我是否可以使用 Office 2003 PIA,并运送给安装了 Office XP 的客户?

0 投票
3 回答
2649 浏览

ms-office - 我是否必须强制我的客户安装 Office Xxxx Primary Interop Assemblies?

似乎如果您尝试引用 Office COM 对象(就像您在其他开发环境中所做的那样),Visual Studio 会出错 -它只是无法工作

所以你必须使用微软手工转换并提供下载下载下载的转换类型库。

现在看来,为了让我的应用程序运行,它需要包含在程序集中的 Office 互操作代码。

现在我不想强迫我的客户安装 Office 2007 主互操作程序集、Office 2003 主互操作程序集或 Office XP 主互操作程序集。我想要一个 xcopy 部署。

如果我设法获得 Microsoft 的互操作程序集副本,我可以将它们复制到 Bin/Debug 和 Bin/Release 文件夹吗?

如果我包含 Office 2007 互操作程序集,如果客户安装了 Office 95,它是否可以工作,或者我是否必须包含 Microsoft 曾经发布的所有版本的 Office Interop dll?

0 投票
5 回答
571 浏览

c# - .NET:如果我的 .NET 使 Office 自动化,客户是否必须安装 Office?

如果我创建一个程序,它在一个小的偏僻区域,使用 Excel 自动化:

需要 Excel 时应用程序会失败吗

还是应用程序无法启动?


更新

让我问同样的问题,但以更冗长的方式:

该应用程序是否可以使用

  • 99.9% 的用户从不使用需要 Excel 的功能

  • 0% 的用户,因为没有安装 Excel。

让我用另一种方式问同样的问题:

引用 COM 互操作 dll 的应用程序是否会无法初始化?


让我用另一种方式问同样的问题:

不使用 Excel 但引用 COM 互操作 DLL 的应用程序会无法启动吗?


让我用另一种方式问同样的问题:

如果未安装 Excel,如果该应用程序依赖于 Office Primary Interop dll,那么不使用 Excel 的应用程序是否可以使用?


让我用另一种方式问同样的问题:

如果我的应用程序不使用 Excel,用户是否必须安装 Excel?

0 投票
4 回答
1355 浏览

com - C# Visual Studio: How to have multiple developers on a solution that references Office?

When I add a reference to Office COM Library, I to go:

  • References
  • Add Reference
  • Select the COM tab
  • Select Microsoft Office 12.0 Object Library

And magically named reference appears:

Microsoft.Office.Core

The Project.csproj file shows the details of the reference:

i check the project into source control, and now nobody else can build the solution; they do not have Office 12, they only have Office 11.

Another guy checks out the .csproj file, deletes the reference to:

and re-adds the COM reference as:

After that, and new reference appears in the Solution:

and the Project.csproj file shows the details of the reference:

Note: Readers who read the question will understand the problem. It's the same type library, but version 2.3 as opposed to version 2.4.

The project is then checked into source control, and now developers with Office 2007 (and Office 2000 for that matter) cannot build it, because Visual Studio cannot resolve the reference to:


We obviously need a version independant way to reference Office.

How do we reference the version of Office that the developer building it on his machine has intsalled?

How do we have multiple developers work on a solution that references Office?


Note: This question is identical to, but fundamentally different from, another Stackoverflow question How to use Office from Visual Studio C#?

That question deals with the entire set of problems from trying to use Office from Visual Studio. This question only focuses on one specific problem.