问题标签 [office-2016]

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 投票
0 回答
114 浏览

office-js - 如何更新通过 MSI 安装的 Office 2016 的 js 插件 api

我正在开发需要支持 API 1.2 的 Office 2016 Word 和 Excel 加载项,我的公司用户 Office 2016 安装仅支持 API 1.1。我假设 corp 安装是从 MSI 完成的。

  • Office 更新已禁用
  • 我尝试安装的任何更新都会收到消息“安装程序无效”。

更新他们的办公室以支持 API 1.2 需要什么?

问候弗洛伊德

0 投票
2 回答
2205 浏览

excel - 如何以编程方式将 QueryTable 包装在 ListObject 中?

过去,Excel 中的外部数据查询用QueryTables表示。
ListObjects出现在某个时间点,但它们尚未与QueryTables 兼容并且无法包含它们。

在 Office 2007 中,它们不仅兼容,而且成为默认设置。从那时起,创建一个外部查询就意味着创建一个ListObject, 并且QueryTable被简化为它的内部组件。

“独立”的 QueryTables,没有包装在 ListObject 中,不能再用接口创建,但可以用代码创建,并且在新旧文件格式中都得到完美支持。

然后 Excel 2016 出现并引入了一个错误,在“独立”QueryTable 的情况下,在某些情况下会永久损坏工作簿。从错误中保存 QueryTables 的唯一方法是将它们包装在 ListObject 中。


所以我有 10k+ 旧版 Excel 文档,其中现有QueryTable的 s 需要用ListObjects 包装。重要的是,大多数查询表的右侧都有自动填写的公式。

使用 Excel 界面,将查询包装在列表中很简单(在查询结果中激活一个单元格,Insert- Table- Ok)并且可以像预期的那样工作,留下一个功能齐全的列表,从查询中获取其数据。

将此操作记录为宏会产生:

然而,在不做任何修改的情况下执行这段代码会产生一个 Frankenstein 查询表:它在外部看起来像一个列表对象,但它不起作用,无法刷新,无法编辑,显示旧式属性对话框,列表对象报告它是一个xlSrcRange而不是xlSrcQuery由接口创建的列表报告。

像电子一样,它会干扰自身(列表对象部分与查询表部分重叠并因此拒绝刷新,即使它们应该是相同的 - 回想一下查询表右侧有公式,它们现在也必须是列表的一部分):

在此处输入图像描述

很明显,在转换表格时,界面比宏记录器捕获的要多得多。

我尝试ListObjects.Add使用各种参数进行调用,提供 aRange作为源、aWorkbookConnection作为源、aQueryTable作为Connection源 - 只要它与现有的 QueryTable 重叠,它就不起作用。

我已经研究过取消链接现有的 QueryTable 并从头开始重新创建 ListObject ,但这会导致表格周围的公式出现各种问题。

QueryTable以编程方式用 a包装现有的完整、正确的代码ListObject是什么,与接口的功能完全匹配?

目前在我看来,我将不得不通过直接操作我讨厌的 xslx 格式中的 XML 来做到这一点。

0 投票
1 回答
537 浏览

outlook - VBA vs. VSTO vs. Office.js vs. MS Graph vs. MS Flow

我有使用 Hosted Exchange 的 Outlook 2016。这是我需要能够做的事情:

  • 通过自定义表单添加联系人时自动添加 Outlook 任务。
  • 通过电子邮件将预制的 .doc、.html 或 .mshtml 文件发送给一组联系人。
  • 跟踪谁收到了预先制作的电子邮件

我有一些 JS 经验,但我不害怕进入 .NET 或 VBA。我倾向于 VSTO,因为根据我的阅读,Office.js 似乎不允许在 Word 和 Outlook 之间实现很多互操作性。

任何建议将不胜感激。

0 投票
0 回答
84 浏览

ms-access - 在 Microsoft Access 中删除引用的问题

我遇到了一个问题,当我在关闭时从 Access 中删除引用时,它不会粘住。我将功能分配给始终打开的隐藏窗口,并且当我手动关闭窗口时它可以工作,但是当我关闭数据库时,删除引用的更改不会生效。由于我们团队的一部分使用的是 Office 2013,因此我们遇到了问题,因此我们不得不在 VBA 代码中创建一个动态参考点。添加引用的代码工作正常,但删除它是问题所在。

这是添加它的代码 Public Function RunThis()

这是退出时运行的代码

0 投票
2 回答
154 浏览

ms-office - 指定插件在 Office 2013 中不起作用

提交我们的插件时,我们收到以下消息:

如果您因为使用仅在 2016/Online 中可用的 API 而不支持 2013 SP1,则必须将这些 API 放在清单中的需求标签中。

我们的插件在 Office 2013 中不起作用,因为它同时使用 WordApi 和 ExcelApi(相应地在 Word 和 Excel 中打开时),这在 Office 2013 中不可用。

因此,我们尝试通过将其添加到清单文件中来在清单文件中指定我们的插件需要 WordApi 1.1:

但是,当我们添加 WordApi 的要求时,插件不会出现在 PowerPoint 和 Excel 中,反之亦然。

我们如何指定插件在 Office 2013 中不可用,而无需为每个办公室主机创建单独的清单文件?

0 投票
2 回答
7299 浏览

c# - Microsoft.Office.Interop.Excel 初始化失败 (Office 2016)

这是我在安装 Office 2016 之前使用的代码。

代码运行良好,但在安装 Office 2016 后,我发现我无法使用 using Excel = Microsoft.Office.Interop.Excel;

我发现的唯一兼容库是

Microsoft.Office.Core(Microsoft Office 16.0 对象库)

我找不到任何访问 Excel 文件的示例。有没有其他方法可以访问安装了 Office 2016 的 Excel 文件(PIA)

这是我尝试运行代码时遇到的错误

无法将“System.__ComObject”类型的 COM 对象转换为接口类型“Microsoft.Office.Interop.Excel.Application”。此操作失败,因为 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:未注册接口(来自 HRESULT 的异常:0x80040155)。

0 投票
0 回答
100 浏览

vba - Excel 2016 VBA 替换错误不一致失败

我正在尝试在 Excel 2016 32 位的 Auto_Open 函数中使用 Worksheet.Cells.Replace 方法遍历工作表并删除文件位置前缀。

上面的行偶尔会导致运行时错误“13”:类型不匹配。其他时候,宏会顺利运行。

有没有人经历过这种行为?有没有好的解决方案?如果没有,如果导致错误,我如何构造代码以再次尝试 Replace 方法 4 次?

0 投票
1 回答
610 浏览

vba - 如何使用 vba 更改 powerpoint 中对象的垂直和水平位置,例如艺术字?

我有很多幻灯片,每张都有一个艺术字。我希望将艺术字对齐到幻灯片的绝对中心。我试过的代码是:

0 投票
0 回答
2644 浏览

excel-2016 - Owc 11 和 Microsoft Office 365

我遇到了一个独特的问题,无法在线找到任何解决方案。我的公司正在使用一个应用程序,该应用程序使用来自 Microsoft Office 2003 Web 组件 (OWC 11) 的数据透视表和图表控件

在我们使用 32 位版本的 Microsoft Excel 2013 之前它运行良好。现在我们计划升级到 Office 2016,由于它是一个旧组件,因此存在兼容性问题。

我尝试替换代码(替换数据透视表类和图表类),但没有数据透视表和图表类。

我不确定如何替换 OWC 11 中的类以使其与 MS Office 2016 一起使用。

有人可以帮忙吗?

0 投票
1 回答
1476 浏览

windows-10 - dpi 缩放更改后在 PowerPoint 2016 中粘贴为增强的图元文件

在 Excel 和 PowerPoint 之间(在 VSTO 加载项中)自动执行某些复制/粘贴操作时,我遇到了一个奇怪的行为,我可以在 Windows 10(Creators Update)和 PowerPoint 2016 上通过以下简单步骤重现该行为:

  1. 编辑显示器的 DPI 设置(如果有多个显示器,它必须是主显示器)
  2. 打开 PowerPoint 2016 并插入一个形状
  3. 复制形状Ctrl + C
  4. 将其粘贴为增强的图元文件(主页 > 粘贴 > 特殊粘贴...)

根据我应用的 DPI 设置修改,复制的形状将被裁剪或具有透明边距。是结果的屏幕截图,显示了普通粘贴特殊粘贴作为增强的图元文件

这种行为特别烦人,因为我的大多数用户都拥有经常停靠/取消停靠的高 DPI 设备。

我正在寻找这种行为的原因和/或解决方法(除了退出并重新登录)。有人有线索吗?