Windows 无法将加载项旁加载到 MS Word 中
Can't side-load add-in into MS Word on Windows
我目前正在开发 Microsoft Word Web Add-in。
因为我使用 Mac,所以我下载了 Windows 10 VM 并使用我的 Office 365 订阅安装了 Office。
我可以在 Office 365 和 Word for Mac 上获取 运行 的 Word 加载项,但在 Windows.
的 Word 2016 上不能
我无法在 Windows 10 到 运行 上获得 Word 2016 的任何加载项,无论是我自己编写的加载项,还是从商店下载的加载项。 Word 始终显示带有 "loading" 的加载项框架,然后它就停留在那里;加载项从不加载。
我没有获得附加调试器的菜单选项,也没有明显的错误消息。
在 VM 上 运行ning 加载项有一些限制吗?我从哪里开始调试它?
编辑:
我刚刚注意到我自己的旁加载加载项在打开 [=35] 的 弹出窗口 对话框 中抛出错误=]behind Word,然后阻止 Word 打开更多加载项。因此,如果我关闭 弹出窗口 对话框 ,那么商店中的加载项将按预期工作。但是我不能旁加载我自己的加载项。
我得到的错误是
Cannot find ‘file://msedgewin10/manifest/boilerplate/home.html?_host_Info=Word$Win32.01$en-US’
. Make sure the path or Internet address is correct.
但是,如果我将此地址粘贴到 IE 中,它会毫无怨言地打开文件。很奇怪。
我不建议使用 file://
uris 进行旁加载。对于 Windows,将 SMB Share method 与 Office 一起使用通常更容易。当我在 Mac 上开发时,我倾向于从我的 Mac 共享 wef
目录,所以我的清单更改显示在 Mac 和 Windows 中同一时间。
弹出窗口问题因人而异。这很可能发生,因为您使用 JavaScript 打开弹出窗口(即 window.open(...)
)。由于 Office 为加载项利用的浏览器和浏览器引擎的数量,使用此方法的结果是非常奇怪的行为。
对于弹出窗口,您应该始终 使用 Office.js 中包含的 Dialog API。此 API 是定制的,适用于所有受支持的 Office 环境(Windows、Mac、iOS、Android、Chrome、Firefox、Safari , IE, 边缘)。当您希望在加载项和对话框之间进行 parent/child 通信时,它特别有用;在 Mac 或 Windows 上不容易完成的事情,其中弹出窗口 运行 在与加载项完全不同的浏览器实例中。
开发加载项时的一个重要提示是注册 Office 365 Developer Program. This gives you access to a free Office 365 Developer tenant. While this may seem like overkill, it will greatly simplify your life as it allows you to use O365's Centralized Deployment 功能,以便在多个 Office 客户端(Windows、Mac、在线等)。当涉及到 dev/test 时,它可以节省大量时间。它还会对您的清单进行一些轻量级验证,从而发现一些常见错误。
另一个技巧是使用 Azure Web Apps 托管加载项。这为您提供了开箱即用的 public URL 和 SSL 证书(Office 要求所有加载项使用 SSL)。最棒的是,您最多可以 运行 10 Azure Web Apps for free. I typically push my code up to the size as part of my add-ins build process. Azure supports publishing via FTP/SFTP, continuous integration (VS Team Services, GitHub, or BitBucket) or even from a local Git repository。
以下是解决方法,以防有人疑惑:
我最初的旁加载加载项创建了一个错误,导致 Word 创建了一个错误通知,该错误通知在 Word 之后弹出,然后阻止了所有后续加载项的执行. 必须先关闭所有错误弹出窗口,然后加载项才能再次运行
实际上我的旁加载加载项被破坏了,这导致所有后续加载项都无法工作。
有点愚蠢的错误,但令人头疼 none-the-less.
我目前正在开发 Microsoft Word Web Add-in。
因为我使用 Mac,所以我下载了 Windows 10 VM 并使用我的 Office 365 订阅安装了 Office。
我可以在 Office 365 和 Word for Mac 上获取 运行 的 Word 加载项,但在 Windows.
的 Word 2016 上不能我无法在 Windows 10 到 运行 上获得 Word 2016 的任何加载项,无论是我自己编写的加载项,还是从商店下载的加载项。 Word 始终显示带有 "loading" 的加载项框架,然后它就停留在那里;加载项从不加载。
我没有获得附加调试器的菜单选项,也没有明显的错误消息。
在 VM 上 运行ning 加载项有一些限制吗?我从哪里开始调试它?
编辑:
我刚刚注意到我自己的旁加载加载项在打开 [=35] 的 弹出窗口 对话框 中抛出错误=]behind Word,然后阻止 Word 打开更多加载项。因此,如果我关闭 弹出窗口 对话框 ,那么商店中的加载项将按预期工作。但是我不能旁加载我自己的加载项。
我得到的错误是
Cannot find
‘file://msedgewin10/manifest/boilerplate/home.html?_host_Info=Word$Win32.01$en-US’
. Make sure the path or Internet address is correct.
但是,如果我将此地址粘贴到 IE 中,它会毫无怨言地打开文件。很奇怪。
我不建议使用 file://
uris 进行旁加载。对于 Windows,将 SMB Share method 与 Office 一起使用通常更容易。当我在 Mac 上开发时,我倾向于从我的 Mac 共享 wef
目录,所以我的清单更改显示在 Mac 和 Windows 中同一时间。
弹出窗口问题因人而异。这很可能发生,因为您使用 JavaScript 打开弹出窗口(即 window.open(...)
)。由于 Office 为加载项利用的浏览器和浏览器引擎的数量,使用此方法的结果是非常奇怪的行为。
对于弹出窗口,您应该始终 使用 Office.js 中包含的 Dialog API。此 API 是定制的,适用于所有受支持的 Office 环境(Windows、Mac、iOS、Android、Chrome、Firefox、Safari , IE, 边缘)。当您希望在加载项和对话框之间进行 parent/child 通信时,它特别有用;在 Mac 或 Windows 上不容易完成的事情,其中弹出窗口 运行 在与加载项完全不同的浏览器实例中。
开发加载项时的一个重要提示是注册 Office 365 Developer Program. This gives you access to a free Office 365 Developer tenant. While this may seem like overkill, it will greatly simplify your life as it allows you to use O365's Centralized Deployment 功能,以便在多个 Office 客户端(Windows、Mac、在线等)。当涉及到 dev/test 时,它可以节省大量时间。它还会对您的清单进行一些轻量级验证,从而发现一些常见错误。
另一个技巧是使用 Azure Web Apps 托管加载项。这为您提供了开箱即用的 public URL 和 SSL 证书(Office 要求所有加载项使用 SSL)。最棒的是,您最多可以 运行 10 Azure Web Apps for free. I typically push my code up to the size as part of my add-ins build process. Azure supports publishing via FTP/SFTP, continuous integration (VS Team Services, GitHub, or BitBucket) or even from a local Git repository。
以下是解决方法,以防有人疑惑:
我最初的旁加载加载项创建了一个错误,导致 Word 创建了一个错误通知,该错误通知在 Word 之后弹出,然后阻止了所有后续加载项的执行. 必须先关闭所有错误弹出窗口,然后加载项才能再次运行
实际上我的旁加载加载项被破坏了,这导致所有后续加载项都无法工作。
有点愚蠢的错误,但令人头疼 none-the-less.