【问题标题】:Office.js API for PowerPoint适用于 PowerPoint 的 Office.js API
【发布时间】:2025-12-02 17:00:02
【问题描述】:

我刚刚开始为 Power Point 文档创建插件的新项目。 我花了很多时间浏览documentation 却没有找到我想要的东西。看来我错过了有关此文档的某些内容。

我除了看到所有对象(及其属性和方法),就像 Microsoft 对 C#、VB 所做的那样......但事实并非如此。例如,我正在寻找一种方法来获取给定 Power Point 文档的自定义属性。

在我的 js 文件中,我这样做了:

    var pptDocument = Office.context.document;
    pptDocument.loadCustomPropertiesAsync(customPropsCallback);

我使用了loadCustomPropertiesAsync,因为它是用 Outlook 实现的。 在这种特定情况下,我可以在这里使用什么功能?

一般来说,如何在 Power Point 插件中查看 document 对象的所有方法和属性?

编辑:

我想达到什么目的?

在我的加载项中,我想添加(或更新,如果存在)自定义属性。所以当我导航到我的 PPT 自定义属性表时,我可以在属性表中看到该自定义属性。 当然,我想保存更改,所以如果我关闭并打开文件,自定义属性仍然存在。

导航到 Power Point 2016 中的自定义属性: 文件 => 信息 => 属性 => 高级属性 => 自定义选项卡

【问题讨论】:

    标签: office-js


    【解决方案1】:

    我假设您指的是自定义文档属性。不幸的是,在 PPT 中仍然无法获得它们。它在 Word 中,很快在 Excel 中。请在 UserVoice 中投票支持此功能,我们认为该功能将优先考虑我们将在未来提供的功能。谢谢!

    顺便说一句,这是用word做的。

    function readCustomDocumentProperties() {
        Word.run(function (context) {
            var properties = context.document.properties.customProperties;
            context.load(properties);
            return context.sync()
                .then(function () {
                    for (var i = 0; i < properties.items.length; i++)
                        console.log("Property Name:" + properties.items[i].key + ";Type=" + properties.items[i].type + "; Property Value=" + properties.items[i].value);
                })
                .catch(OfficeHelpers.Utilities.log);
        })
    }

    【讨论】:

    • 现在是否有解决方法来添加/编辑自定义文档属性?
    • 另外,我在 Word 中看不到获取自定义属性的功能
    • 您可以使用设置对象来存储自定义属性。我需要有关您的方案的更多详细信息,看看这是否有帮助。基本上,设置对象是一个属性包,你可以存储设置,它与 PPT 文档一起存储,类似于自定义属性,但它从不显示在 UI 上。因此,如果我能获得更多详细信息,那就太好了..
    • 请检查我的答案,我附加了如何在 word 中获取自定义属性。
    • 谢谢@Juan,在我的情况下,我应该用什么代替Word.run?根据您的建议,我可以使用document.settings 代替document.properties.customProperties 吗?