Word JS api 访问被拒绝(ContentControl.select、Body.getHtml)

2024-04-11

我正在尝试通过js选择内容控制select()功能 -docs https://dev.office.com/reference/add-ins/word/contentcontrol#selectselectionmode-selectionmode- 但我总是收到访问被拒绝错误:

Error: 
{
    "name": "OfficeExtension.Error",
    "code": "AccessDenied",
    "message": "AccessDenied",
    "traceMessages": [],
    "debugInfo": 
    {
        "errorLocation":"ContentControl.select"
    },
    "stack":"AccessDenied: AccessDenied\n   at Anonymous function (https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:150094)\n   at yi (https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:163912)\n   at st (https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:163999)\n   at d (https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:163819)\n   at c (https://appsforoffice.microsoft.com/lib/1.1/hosted/word-win32-16.00.js:19:162405)"
}
Debug info: {"errorLocation":"ContentControl.select"}

Also body.getHtml() and body.getOoxml()返回相同的拒绝访问错误。

代码片段:

// Run a batch operation against the Word object model.
Word.run(function (context) {

    // Create a proxy object for the content controls collection.
    var contentControls = context.document.contentControls;

    // Queue a command to load the id property for all of the content controls. 
    context.load(contentControls, 'id');

    // Synchronize the document state by executing the queued-up commands, 
    // and return a promise to indicate task completion.
    return context.sync().then(function () {
        if (contentControls.items.length === 0) {
            console.log('No content control found.');
        }
        else {
            // Queue a command to select the first content control.
            contentControls.items[0].select();

            // Synchronize the document state by executing the queued-up commands, 
            // and return a promise to indicate task completion.
            return context.sync()
                .then(function () {
                    console.log('Selected the first content control.');
            });
        }
    });  
})
.catch(function (error) {
    console.log('Error: ' + JSON.stringify(error));
    if (error instanceof OfficeExtension.Error) {
        console.log('Debug info: ' + JSON.stringify(error.debugInfo));
    }
});

首先我认为我的代码可能有问题,但我也尝试过狙击探险家 https://github.com/OfficeDev/office-js-snippet-explorer并出现了同样的问题。 (尝试在本地和互联网上托管清单和应用程序)

有人在 github 报告了同样的问题 -github.com/OfficeDev/office-js-snippet-explorer/issues/13- 但更改 IE 安全选项的解决方案并没有解决我的问题。

我的Word版本 - 16.0.4266.1001


卡米尔兹,你的建筑相当古老。我强烈建议您更新您的产品(转到文件->更新或按照说明进行操作here https://dev.office.com/docs/add-ins/develop/install-latest-office-version)。目前最新版本是 16.0.7870.2024。我刚刚按照您的示例运行了您的代码并且成功了,所以这主要是一个过时的构建问题。 也就是说,您的场景可以概括为 2 行代码,并且只需 1 次主机访问,您应该始终尝试优化这一点,特别是如果您希望您的代码对于其他平台来说是最佳的。看一下这个:

 Word.run(function (context) { 
        context.document.contentControls.getFirstOrNullObject().select();
        return context.sync();

    })
ok that should do exactly the same as your code above. hope this helps!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Word JS api 访问被拒绝(ContentControl.select、Body.getHtml) 的相关文章

随机推荐

  • Ansible:从意图文件创建字典

    shell gt cat myfile yml ABC ABC C01 host a1 prefixlen 19 host a2 prefixlen 19 DEF DEF C01 host d1 prefixlen 19 host d2 p
  • android bluetoothadapter.startLeScan,按 UUID 过滤

    我想使用以下命令扫描 BLE 设备startLeScan UUID serviceUuids LeScanCallback callback 方法 现在我有一个UUID 它是一个16位的值 例如 00000000 0000 1000 800
  • app.config修改值c#

    这个问题在这里得到解决App Config 更改值 https stackoverflow com questions 11149556 c sharp app config change value 接受的答案是 string appPa
  • Visual Studio 2019 中的工具版本

    我正在做几个项目从VS2010到VS2019的迁移 这些项目的 vcxprojs 中有工具版本 4
  • 如何监控Bolt的待处理队列的大小?

    我的拓扑有一两个瓶颈 Storm UI 中的容量指标对于识别这些非常有用 但我对 Bolt 队列的大小更感兴趣 我的理解是每个螺栓有两个队列 一个用于待执行的元组 另一个用于待发出的元组 是否可以监控这些队列的大小 我在网上找到了一些关于向
  • 为什么 scanf() 需要“%lf”来表示双精度数,而 printf() 只需使用“%f”就可以了?

    为什么会这样scanf 需要l in lf 当读一个double when printf 可以使用 f 无论它的参数是否是double or a float 示例代码 double d scanf lf d printf f d 因为对于采
  • 如何在执行android仪器测试时在cmd控制台中打印日志

    我在windows系统上打开cmd 然后输入 adb shell am instrument w com demo uia test android support test runner AndroidJUnitRunner 运行 And
  • const_cast 有用吗?

    最近我发现一段 C 代码可以有效地执行以下操作 char pointer const char constPointer const cast
  • 如何从 WebStorm 中运行 nodemon?

    我想用nodemon https github com remy nodemon从 WebStorm IDE 版本 7 中 Nodemon 监视源文件夹中的一个或多个文件 并在其中一个源文件发生更改时重新启动节点进程 本例中为 Expres
  • 使用 name(object) <- 向量重命名 xts 对象标头的 R 代码

    我是 R 学习新手 我的一些 R 代码有问题 为了您的方便 我放置了所有代码 以便您可以看到我正在尝试做的事情的逻辑 我的问题是重命名我的 xts 对象 Monthly Quotes 的标头 据我所知 当股票代码无效时 getsymbols
  • 原生 JS 相当于 jQuery 委托

    动态创建的 dom 元素上的事件委托的本机实现是什么 我尝试查看 jQuery 源代码 但无法遵循 on method 注意 目前我在创建 dom 元素后附加事件处理程序 这看起来很标准 但我喜欢 jQuery 的方式 on使用此语法处理动
  • 如何修复“找不到模块 vue-cli-service.js”?

    我正在设置一个新的 Vue 项目 当我运行命令时npm run serve进入CMD 出现如下错误 Error Cannot find module C Users Bram Wicherink vue cli service bin vu
  • 我们如何在 Swift 中实现等待/通知

    在Java中 我们可以这样做 synchronized a while condition false a wait time critical section do something 上面是一个条件同步块 它等待条件成功才能执行临界区
  • WPF 中的多重拖放 - 示例/示例/教程?

    我正在寻找一个示例或任何现成的解决方案 我可以将其集成到现有的应用程序中并使用多重拖放功能 当涉及到将多个项目从 ListBox 之类的控件拖放到另一个 ListBox 时 我在互联网上找到的大多数解决方案都不能很好地工作 谁能指出我的解决
  • 为什么值类型存储在堆栈中?

    为什么 C Net 更喜欢使用堆栈来存储值类型 这种设计背后的主要原因是什么 是因为对堆栈的读 写操作更好地利用了机器处理器吗 另外 也许你可以证明为什么其他人不可以 埃里克 利珀特讨论了这个here https learn microso
  • 自定义字体 Ionic 2

    因此 我尝试在 Ionic 2 应用程序中使用自定义字体 但由于某种原因 它显示的内容不正确 我的字体是 GothamRounded 因此我将所有 ttf svg otf 和 eot 文件复制到 Ionic 项目的 www fonts 文件
  • Apache和Nodejs跨域ajax问题

    我正在开发一个应用程序 其中我使用了托管在同一台机器上的两台服务器 其中一台是 apache 它将作为基本主机来服务 php 页面 另一台 Nodejs 用于其余 api 的通信 整个应用程序构建在backbone marionette r
  • Groovy:从两个范围创建二维数组

    我想创建这个 1 1 1 2 1 3 2 1 6 3 使用 GroovyConsole 我一直在尝试这样的事情 def blob 1 6 collect i gt 1 3 collect j gt i j println blob blob
  • javascript项目将自身拼接出列表

    如果我有一个对象数组 是否有任何方法可以让该项目将自身从包含它的数组中拼接出来 例如 如果一个坏人死了 他会将自己从活跃的敌人阵列中剔除出来 我可能听起来很疯狂 但这种能力会极大地简化我的代码 所以我希望有一些很酷的东西 您将这样做的方式如
  • Word JS api 访问被拒绝(ContentControl.select、Body.getHtml)

    我正在尝试通过js选择内容控制select 功能 docs https dev office com reference add ins word contentcontrol selectselectionmode selectionmo