我几天前创建了这个,其中我需要有关如何向所述文档添加自定义属性的帮助。
首先,我正在运行Word 1701(7766.2047)。
假设我有一个方法,在其中返回一个自定义属性。首先,我会检查自定义属性是否已创建。我会用一个简单的 getItemOrNullObject(key) 来完成此操作并且..
据我了解,我需要执行 return context.sync().then 才能使对象实际加载数据?我是否做了太多 return context.sync() 调用而没有任何作用?
Word.run(function(context) {
var customDocProps = context.document.properties.customProperties;
context.load(customDocProps);
return context.sync()
.then(function() {
var temp = customDocProps.getItemOrNullObject("X");
return context.sync()
.then(function() {
if (!temp) {
context.document.properties.customProperties.add("X", 1234);
temp = customDocProps.getItemOrNullObject("X");
return context.sync()
.then(function() {
return temp;
});
} else {
return temp;
}
});
});
});Run Code Online (Sandbox Code Playgroud)
以下代码在开始时向我抛出“ReferenceError:'Word'未定义”,但如果我调试它,它会在中断之前运行
var customDocProps = context.document.properties.customProperties;
context.load(customDocProps);
return context.sync().{....}
还有一个问题请教一下。假设我想更新我的自定义属性,会:
Word.run(function (context) {
context.document.properties.customProperties.add("X", 56789);
return context.sync();
});Run Code Online (Sandbox Code Playgroud)
用新值覆盖旧值?
如果您读到这里,谢谢!任何帮助表示赞赏。干杯!
我正在处理 Office 加载项命令。如果该组只有两个按钮(见下Group 1图),则按钮如我预期的那样大。同时,如果该组有四个按钮(见下Group 2图),它会自动将其中三个按钮缩小。
如何禁用 Office 自动缩放按钮?
我已经构建了一个 Word 插件,现在想添加一个选项,以便在用户突出显示某个单词并右键单击它时从中调用函数。我在这里找到了有关如何修改manifest.xml 文件的文档,但它似乎没有显示如何添加到上下文菜单的完整示例,仅显示了如何添加按钮和下拉菜单。
该文档还向我指出了一个github页面显示示例,但同样缺少上下文菜单。它还指向这个视频,它似乎在 1:20 左右展示了我想要的内容,但也没有展示如何实现它。
到目前为止我有这个(添加在下面<FunctionFile>):
<ExtensionPoint xsi:type="ContextMenu">
<OfficeMenu id="ContextMenuText">
<Control xsi:type="Menu" id="TestMenu">
<Label resid="ContextMenuLabel" />
<Supertip>
<Title resid="ContextualMenuTitle" />
<Description resid="ContextualMenuTitleDesc" />
</Supertip>
</Control>
</OfficeMenu>
</ExtensionPoint>
Run Code Online (Sandbox Code Playgroud)
当我尝试使用此工具验证清单文件时,它告诉我缺少一个Icon元素,但我不需要上下文菜单的图像?
我想做的事情是否可能,如果可以,有人可以给我举个例子吗?
我已经更新了我的代码以反映 @Mavi Domates 所写的内容
<ExtensionPoint xsi:type="ContextMenu">
<OfficeMenu id="ContextMenuText">
<Control xsi:type="Button" id="openSearchButton">
<Label resid="openSearchButtonLabel" />
<Supertip>
<Title resid="openSearchButtonTitle" />
<Description resid="openSearchButtonDescription" />
</Supertip>
<Icon>
<bt:Image size="16" resid="Contoso.tpicon_16x16" />
<bt:Image size="32" resid="Contoso.tpicon_32x32" />
<bt:Image size="80" resid="Contoso.tpicon_80x80" />
</Icon>
<Action …Run Code Online (Sandbox Code Playgroud) 我正在使用 React/TypeScript 创建 Outlook 插件。当我使用 运行代码时npm run start,出现以下消息,并且我无法运行我的反应应用程序。
Failed to compile.
./src/index.tsx
Line 9: 'Office' is not defined no-undef
Search for the keywords to learn more about each error.
Run Code Online (Sandbox Code Playgroud)
在package.json中,如果react-script版本高于3.0.0,则会发生此错误。如果它较低(例如2.8.8),我们可以毫无错误地执行react应用程序。有人给我一些解决方法吗?
索引.tsx
import 'react-app-polyfill/ie11';
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import { AppContainer } from './components';
import { Provider } from 'react-redux';
import { store } from './store/store';
Office.onReady(() => {
ReactDOM.render(
<Provider store={store}>
<AppContainer />
</Provider>,
document.getElementById('root')
);
});
Run Code Online (Sandbox Code Playgroud)
包.json
"name": "outlookApp",
"version": "0.1.0", …Run Code Online (Sandbox Code Playgroud) 我们正在为 Excel 开发一个 office-js javascript 插件。我们正在 Windows 上的 Excel 中使用旁加载测试插件。Windows 和 Excel 更新到新版本后,Office/Excel 中的 webview 已经从 IE 变成了 Edge。现在我们需要删除 Edge 浏览器缓存,以便查看更新后的 Web 服务中的更改。
要完全重新加载旁加载的 office 插件,删除本地存储和 IE 浏览器缓存就足够了。更新到 Edge webview 后,我们无法清除浏览器缓存。
在 IE 中,我们可以这样刷新本地存储和浏览器缓存: del /q /s /f C:\Users\username\AppData\Local\Microsoft\Windows\Caches del /q /s /f C:\Users\ username\AppData\Local\Microsoft\Windows\INetCache del /q /s /f C:\Users\ username\AppData\Local\Microsoft\Office\16.0\WEF
psexec.exe -lc:\windows\system32\RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4359
除了 psexec (sysinternals),我们还可以通过 Internet 选项对话框删除 IE 缓存。
为了删除 Edge 缓存,我们尝试 del /q /s /f C:\Users\username\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC 或通过打开 Edge 浏览器端通过 UI 删除缓存。
不幸的是,Edge 缓存似乎没有完全删除,Office 插件没有完全显示来自 Web 服务的更改内容。
我正在使用Excel Javascript API编写 Excel 插件。
我想知道三件事:
如果您对信息很慷慨,那么了解VSTO 外接程序也可以实现这些功能中的哪些功能会很棒。
预先感谢您的帮助 - 非常感谢!
我正在学习如何为 Office 创建插件。我正在使用 vscode 和 npm 的“yo office”。虽然我还没有取得太大进展,但我已经完成了数十次编译,并在尝试/学习新事物的同时在 Excel 中查看结果,并遵循 Word 和 Excel 的在线模块。今天,第一次,当我所做的只是更改 taskpane.html 中标题中的文本时,当我在 Excel 中并单击任务窗格按钮时,我得到了
我不想看到这段对话,尤其是我以前从未有过这样的对话。
我已经进入 launch.json,我尝试将 useWebView 设置为 false。我尝试注释掉 preLaunchTask 这样我就不会在调试模式下运行,或者添加
“无调试”:真
我尝试禁用 vscode 中的调试器模块。这些都不能阻止这种对话。我扫描了这个论坛并尝试阅读 API,但他们似乎都认为需要使用 webview 调试。我花了一些时间,但没有那么多时间,看看我是否可以“将 VS 代码附加到 webview”,但这开始超出我的想象,而不是我一开始就想做的事情。我想知道上周是否有一些更新添加/启用了此“功能”。
我很感谢您对这个新手问题的任何意见。
Update#1 我启动了一个新的插件项目来看看会发生什么。当执行“npm start”时会出现该对话框,这是前几周没有发生的事情。
Update#2 我完全重新安装了 npm.js、office.js 和 vscode。没有帮助。
Update#3 在进一步阅读调试器模块后,我进一步探索了“附加代码”。我添加了 url 行。那并没有解决问题。不确定还缺少什么,特别是因为以前不需要这些步骤。
{
"name": "Excel Desktop (Edge Chromium)",
"type": "edge",
"request": "attach",
"useWebView": "advanced",
"port": 9229,
"timeout": 600000,
"url": "http://localhost/taskpane.html",
"webRoot": "${workspaceRoot}",
"preLaunchTask": "Debug: Excel Desktop",
"postDebugTask": "Stop Debug"
}
Run Code Online (Sandbox Code Playgroud) 有没有人知道Office 2013任务窗格应用程序的TypeScript引用或声明文件?
我尝试添加:
/// <reference path="_officeintellisense.js" />
/// <reference path="office/1.0/office.js" />
Run Code Online (Sandbox Code Playgroud)
但是tsc似乎无法解释office.js(或者至少我无法理解)因为它似乎是上下文感知的,需要知道它是否在Excel,Word等中运行.
我已经使用Word javascript API开发了Word Add-in。我的Document .docx文件在服务器上,我需要在加载项中单击按钮后以新Word文档的形式打开该.docx文档。
请指导我如何在Word加载项中打开新文档。
谢谢。
ms-word ms-office office365 javascript-api-for-office office-js
office-js ×10
ms-word ×3
excel ×2
excel-addins ×2
ms-office ×2
typescript ×2
javascript ×1
npm-start ×1
office365 ×1
reactjs ×1
webview ×1