gpt4 book ai didi

javascript - 在 Word 桌面客户端中,是否有正确的方法从 Javascript Api for Office 保存文档?

转载 作者:行者123 更新时间:2023-11-30 00:14:10 24 4
gpt4 key购买 nike

上下文

我正在使用 JavaScript API for Office (v 1.1) 编写 Office Word 任务 Pane 插件。

我的系统:

  • 微软 window 8.1
  • Microsoft Visual Studio 2015 社区
  • Office 的最新 Visual Studio 工具
  • Microsoft Office Word Service Pack 1(桌面版)

问题

我面临的问题是关于将打开的文档保存在客户机中。我已经搜索了资料,但仍然没有成功...

我想知道是否有一种方法可以从 JavaScript API 保存 Word 文档,Office.Context.Document 中只有几种方法:

enter image description here


代码

我写了一个解决方案,但我不喜欢我以前通过创建 Word.Application Activex 来保存文档的方式:

$scope.saveDocument = function (draft) {
// Draft is a part of the window title
// Example :
// ----------
// If word window title shows "B0306-000-2012.docx - Word",
// draft could be "B0306-000-2012"
try {
var Word = new ActiveXObject("Word.Application");
if (Word) {
var spanish = Word.Language == 3082;
var Tasks = Word.Tasks;
for (var i = 0; i < Tasks.Count; i++) {
var Task = Tasks.Item(i + 1);
if (Task.Visible && Task.Name.indexOf(draft) >= 0) {
var shell = new ActiveXObject("WScript.Shell");
var activated = shell.AppActivate(Task.Name, 2000); //Espera 2 segundos para activar la aplicación
shell.SendKeys(spanish ? "^g" : "^s", 3000); //Envía el comando Ctrl + (G / S) según el idioma de la aplicación y espera 3 segundos a que Word guarde el documento
break;
}
}
Word.Quit();
}
return true;
} catch (e) {
$OfficeApp.showModal("No se pudo guardar el documento", "Error: " + e.message);
return false;
}
};

问题

关于如何直接使用 JavaScript API 保存文档有什么建议吗?

最佳答案

Office 2013 的 Office JS API(当前)没有用于打开或保存文档的界面。

我想到的唯一解决方法是提取 OOXML 并将其“流”到一个新文件(文件扩展名为 xml)。但是 OOXML 不包含某些内容(例如文档属性),因此根据您的文档所包含的内容,这可能不是一个选项。

根据评论中的讨论编辑:

对于其他任何事情,有必要使用提供完整对象模型功能的旧式 VSTO/COM/VBA 插件。

关于javascript - 在 Word 桌面客户端中,是否有正确的方法从 Javascript Api for Office 保存文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35367716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com