我想到了PowerPoint的任务窗格加载项,可以帮助用户在活动演示文稿中完成任务。随着Microsoft Office在Windows以外的平台上越来越流行,使用JavaScript API可以实现出色的可移植性。有许多COM加载项通过PowerPoint对象模型来执行以下操作:
看完JavaScript API文档后,目前看来这些事情是不可能的。getFileAsync听起来有些许希望,但最终无济于事。getSelectedDataAsync仅返回幻灯片的文本或标题和ID。因此,这也不是解决方案。
对于上述任务,我目前对适用于PowerPoint的JavaScript API感到不走运是否正确?即我需要等待更全面的API可用(例如Word和Excel的API)?有人知道微软在这里是否有工作吗?
在文档或工作表中添加表行和列后,是否可以迭代它们.
我正在使用以下代码添加一个表,我希望这个代码成功我应该能够访问行和列应该能够在一些转换后替换单元格的值.Bellow是我用来创建表的代码.
var tableData = new Office.TableData();
var headers = [placeholder.columns.map(function (c) { return c.column; })];
tableData.headers = headers
tableData.rows = rows;
var document = Office.context.document;
document.setSelectedDataAsync(tableData, function (result) {
var placeholder = Office.context.document.settings.get(results.binding.id);
if (officeCallSucceded(result, true)) {
document.bindings.addFromSelectionAsync(Office.BindingType.Table, function (result) {
if (officeCallSucceded(result)) {
//SOME LOGIC FOR BINDING HERE TO ADD //EVENT handlers to the table just added
}
});
}
}
);
}
Run Code Online (Sandbox Code Playgroud) 我正在编写 Office 加载项(以前称为 Office 应用程序)。我正在使用office.js并且在某些代码点中我想检查应用程序是在 excel(桌面软件)中运行还是在网络上运行(Excel Online)
就像是:
if (Office.IsRunningOnWeb){
// Do something.
}
Run Code Online (Sandbox Code Playgroud) 我想使用一些 HTML + JavaScript 创建一个 Office 加载项,以便在 Office 商店中出售。而且这个插件不需要使用任何服务器端设施。但是,如果我了解https://dev.office.com/getting-started/addins,则 Add-in 的源文件必须托管在某个 Web 服务器上。
所以主要问题:我可以以某种方式将加载项的所有源和所有资源打包到输出 DLL 文件中,并仅将清单和 DLL 文件推送到 Office Store,而无需任何 Web 服务器吗?
我需要它来允许来自 Office 商店的用户,将这个插件安装到他的办公室,甚至可以离线使用它(没有互联网连接)。
如果有人决定窃取我的资源并创建加载项的副本,那么这种配置对于反向加载项也有点复杂。
我有一个用新的 Javascript API (office.js) 编写的 Outlook 加载项。
我从日历中的约会的撰写表单中进行了一些操作(向正文添加主题后缀和一些文本)。完成操作后,我调用:
Office.context.mailbox.item.saveAsync(callback)
Run Code Online (Sandbox Code Playgroud)
包含更改的项目会被保存,但是当我在 Outlook Web UI 上致电Office.context.mailbox.item.close() 或关闭约会撰写表单时 - 如果我想保存更改或放弃更改,则会显示一个对话框,尽管自saveAsync通话以来没有进行任何更改。
无论用户是单击“保存”还是“放弃”,约会都具有我在saveAsync调用前使用加载项所做的更改。这种行为的原因是什么?
我试图在MSDN上使用这个看似简单的教程来制作Excel 2013 Web应用程序:
http://msdn.microsoft.com/library/office/fp142255%28v=office.15%29
我坚持"为清单指定一个受信任的位置"和"测试并运行Hello World应用程序"步骤.我没有网络共享,也没有可用的SharePoint服务器.我不知道为什么我不能简单地指向清单文件本身并直接加载目标应用程序(理想情况下,不必在每次稍微更改后重新启动Excel以查看它是否有效).我不确定实际问题是什么,因为当我找到并将应用程序插入Excel时,我看到的唯一输出是模糊的"无法连接到目录"消息.Excel中的"信任中心"对话框主动拒绝本地驱动器引用(例如C:\ path\to\app),并显示有关需要"https://"的消息.Excel确实接受"\\.\ [driveletter]\path\to\app \"作为有效的"网络共享"(一个错误?)但它仍然在插入对话框中显示"无法连接到目录"消息.我还尝试了主题的变体,例如从路径中排除尾部反斜杠'\',并指定应用程序的完整路径和文件名以及app目录和文件名的各种组合.
我还试图在本地和远程Web服务器上抛出测试应用程序,然后将Excel指向清单(以及应用程序的目录),但Web服务器日志指示Excel正在尝试连接到SharePoint REST API端点(/pathtoapp[/appname.xml]/_api/web/lists?$filter=TemplateFeatureId%20eq%20guid'61e874cd-3ac3-4531-8628-28c3acb78279'&$select=Id"),结果为404(即不是SharePoint服务器)然后Excel显示无用的"无法连接到目录"消息.服务器日志至少证明Excel实际上正在做某事,而信任中心至少警告我它会将URL视为一个SharePoint URL.但是,没有明显的方法可以告诉Excel从普通的"Web服务器"而不是SharePoint加载单个应用程序,如果我没有,也不需要或不具备该功能,那么Web服务器的回复应该是什么(例如, Linux服务器)安装SharePoint.
那么我错过了什么或做错了什么?在本地计算机上制作Excel Web应用程序是Web应用程序开发人员可能想要做的事情.让用户通过直接URL安装Web应用程序也是开发人员可能想要做的事情.
office-app ×6
office-js ×4
excel ×2
javascript ×2
ms-office ×2
office365 ×2
add-in ×1
powerpoint ×1
windows ×1