2016-05-12 8 views
1

Ich versuche, eine Office-Anwendung zu erstellen, die Seriendruckfelder aus einer definierten Liste (so dass der Benutzer nicht mit Datenquelle verknüpfen muss) zu einer Vorlage einfügen. Ich habe Word 2013 und kopiere ein Kesselblech Beispiel, um mich zu starten. Das einzige Problem, das ich habe, ist, dass ich das Beispiel-Add-In nicht in meiner Word-Umgebung anzeigen kann. Würde jemand einen Blick auf den Code werfen, um zu sehen, ob in meiner Umgebung ein Problem damit auftaucht?Word 2013 und Aktivierung von JS Office App

Manifest.xml Datei

<?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 Datei

<!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> 

Soweit ich in Wort kennen Datei habe ich Optionen Vertrauen gegangen Center-Einstellungen und fügte die HTTPS-URL hinzu, wo meine Dateien in der vertrauenswürdigen Katalog-URL gehostet werden. Allerdings ist das Addin nicht verfügbar, also gehe ich davon aus, dass mein Code irgendwo falsch ist. Ich habe auch die home.js entfernt, also hatte es nur das Büro initialisieren, aber das hat auch nicht funktioniert.

Wer weiß auch, ob es möglich ist, ein Zusammenführungsfeld mit der neuen Office-js-Apis einzufügen?

+0

aussieht Wenn Sie 2 losen verwandte Fragen haben es in der Regel besser 2 separate Fragen auf SO zu stellen. – lgaud

+0

Ich habe die home.js in den voll qualifizierten Domain-Namen geändert, wo sie gehostet wird, die auch https hat. Es erscheint immer noch nicht als eines meiner Addins. Ich habe Recht damit, dass die Manifest-Datei im selben Ordner wie die js-und html-Datei sein sollte? – JK36

+0

Das Manifest muss nicht im selben Ordner wie die anderen Dateien liegen. Kannst du home.html in deinem Browser sehen? –

Antwort

3

Wenn Sie Ihr Add-In nicht in Word anzeigen lassen, müssen Sie den Quellstandort so aktualisieren, dass er auf die URL verweist, auf der sich Ihr Add-In befindet.

In Bezug auf Ihre zweite Frage, ich weiß nicht, ob Sie ein Seriendruckfeld einfügen können, aber es gibt Möglichkeiten, bind to a text area. Ich schlage vor, dass Sie sich auch dieses Beispiel anschauen, Word-Add-in-JavaScript-AddPopulateBindings.

0

Es kann "home.html" nicht finden. Das muss eine vollständige URL sein. Sie müssen home.html von einem Webserver ausführen (und es muss https verwenden).

Wenn Sie Visual Studio verwenden, würde ich vorschlagen, dass Sie ein neues Projekt mit den Office-Add-In-Vorlagen starten und Ihr Beispiel kopieren. Es wird Sie mit einer URL einrichten, die mit ~ beginnt und nach rechts übersetzt wird Ding auf bauen.

Wenn Sie mit etwas anderes, here's the documentation aber Ihre URL wird so etwas wie <SourceLocation DefaultValue="https://localhost:8443/app/home/home.html"/>