Word 2013和激活JS Office应用程序

时间:2016-05-12 15:34:28

标签: office-js

我正在尝试创建一个Office应用程序,它会将定义列表中的合并字段(因此用户不需要链接到数据源)插入到模板中。我有Word 2013并复制了一个锅炉板示例让我开始。我唯一的问题是我无法在我的文字环境中显示示例。有人看看代码,看看它在我的环境中是否存在问题?

Manifest.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:type="TaskPaneApp">
    <Id>2b88100c-656e-4bab-9f1e-f6731d86e464</Id>
    <Version>1.0.0.0</Version>
    <ProviderName>Microsoft</ProviderName>
    <DefaultLocale>en-US</DefaultLocale>
    <DisplayName DefaultValue="Boilerplate content" />
    <Description DefaultValue="Insert boilerplate content into a Word document." />
    <Hosts>
        <Host Name="Document"/>
    </Hosts>
    <DefaultSettings>
        <SourceLocation DefaultValue="home.html" />
    </DefaultSettings>
    <Permissions>ReadWriteDocument</Permissions>
</OfficeApp>

home.js文件

Office.initialize = function (reason) {
// Checks for the DOM to load using the jQuery ready function.
$(document).ready(function () {
// After the DOM is loaded, add-in-specific code can run.
// Display initialization reason.
if (reason == "inserted")
write("The add-in was just inserted.");

if (reason == "documentOpened")
write("The add-in is already part of the document.");
});
}

// Function that writes to a div with id='message' on the page.
function write(message){
document.getElementById('message').innerText += message; 
}

home.html文件

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
    <title>Boilerplate text app</title>
    <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js" type="text/javascript"></script>
    <script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js" type="text/javascript"></script>
    <script src="home.js" type="text/javascript"></script>
    </head>
    <body>
        <div>
                <h1>Welcome</h1>
        </div>
        <div>
                <p>This sample shows how to add boilerplate text to a document by using the Word JavaScript API.</p>
                <br />
                <h3>Try it out</h3>
                <button id="Salutation">Insert Salutation</button>
                <button id="FirstName">Insert First Name</button>
                <button id="Lastname">Insert Last Name</button>
        </div>
    </body>
</html>

据我所知,我已经去了选项信任中心设置,并添加了我的文件托管到受信任的目录网址的https网址。但是Addin是不可用的,所以我假设我的代码在某处不正确。我也剥离了home.js所以它只有办公室初始化但是也没有用。

任何人都知道是否可以使用新的office-js apis插入合并字段?

2 个答案:

答案 0 :(得分:3)

如果没有在Word中添加加载项,则需要更新SourceLocation以指向托管加载项的URL。

关于你的第二个问题,我不知道你是否可以插入合并字段,但有bind to a text area的方法。我建议你也看一下这个样本,Word-Add-in-JavaScript-AddPopulateBindings

答案 1 :(得分:0)

它无法找到&#34; home.html&#34;。这将需要一个完整的网址。您需要从Web服务器运行home.html(它需要使用https)。

如果您使用的是Visual Studio,我建议您使用Office加载项模板启动一个新项目并复制您的示例,它将为您设置一个以〜开头并转换为正确的建设。

如果您正在使用其他内容,here's the documentation但您的网址会显示为<SourceLocation DefaultValue="https://localhost:8443/app/home/home.html"/>