3

J'ai développé un complément Word en utilisant le mot javascript api. Mon fichier Document .docx est sur le serveur et j'ai besoin d'ouvrir ce document .docx comme un nouveau document Word sur un clic de bouton dans le complément.Comment ouvrir un nouveau document Word docx dans Word Add-in

Veuillez me guider comment je peux ouvrir un nouveau document dans le complément Word.

Merci.

Répondre

-1

L'ouverture d'un document dans une nouvelle instance (c'est-à-dire une nouvelle fenêtre Word séparée) est, au moins pour le moment, non supportée par l'API Office.js basée sur JavaScript. Vous démarrez toujours à partir d'un objet Context, ce qui vous permettra d'accéder au document actuellement actif via la propriété Context.document.

Ce que vous pouvez faire est d'insérer du contenu dans un document existant, par ex. via la méthode body.insertOoxml.

Actuellement, l'API Office.js est toujours limitée par rapport à l'API COM classique. Si vous avez besoin du jeu de fonctionnalités complet, vous pouvez envisager de développer une solution COM ou VSTO dès aujourd'hui. Le seul inconvénient est que votre complément ne fonctionnera sur aucune plate-forme autre que le bureau Windows.

+0

cela est pris en charge maintenant, vérifier ma réponse ... merci! –

+0

@JuanBalmori: C'est une excellente nouvelle! Mais si je comprends bien ta réponse, c'est encore en beta. Y a-t-il de la documentation sur les fonctionnalités bêta disponibles? Ou tout autre moyen de suivre les fonctionnalités qui vont être ajoutées? –

+0

oui c'est en avant-première! s'il vous plaît essayer! envoyez-moi vos commentaires! nous avons une spécification ouverte où nous laissons tomber tout ce que nous prévoyons d'expédier! consultez-le https://github.com/OfficeDev/office-js-docs/tree/WordJs_1.3_Openspec/word ici plus d'informations sur les conditions requises pour l'essayer https://github.com/OfficeDev/office-js-docs/ tree/WordJs_1.3_Openspec –

4

Il existe une nouvelle méthode que nous ajoutons à l'API que vous pouvez réellement utiliser pour y parvenir. Notez que c'est en aperçu, ce qui signifie que la production sera en quelques mois. Vous avez besoin de la dernière version d'Office et référencez notre preview office.js pour l'essayer. La prévisualisation office.js est ici https://appsforoffice.microsoft.com/lib/beta/hosted/office.js

Découvrez cet exemple de code sur la facilité avec laquelle le faire.

function onaddOpenDoc() { 
 
     Word.run(function (context) { 
 
      
 
      // this getDocumentAsBase64 assumes a valid base64-encoded docx file 
 
      var myNewDoc = context.application.createDocument(getDocumentAsBase64()); 
 
      context.load(myNewDoc); 
 

 
      return context.sync() 
 
       .then(function() { 
 
        myNewDoc.open(); 
 
        context.sync(); 
 
       }).catch(function (myError) { 
 
        //otherwise we handle the exception here! 
 
        showNotification("Error", myError.message); 
 
       }) 
 

 
     }).catch(function (myError) { showNotification("Error", myError.message); }); 
 

 

 
    }

+0

Merci, ça marche comme prévu, en attendant la production. – user3931619

+0

n'est-il toujours pas en production? Il n'y a pas d'attribut 'application' dans le contexte dans les documents officiels https://dev.office.com/reference/add-ins/shared/context. Btw. J'utilise angular 4 et il n'y a pas d'attribut d'application sur la classe RequestContext dans les types pour Word-Namespace. – JohnnyAW

+0

Pas encore nous travaillons activement dessus –