我正在尝试创建一个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插入合并字段?
答案 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"/>