2016-08-29 2 views
0

Ich arbeite an einem Office-js-Projekt, derzeit bin ich HTML in das Word-Dokument einfügen. Der HTML-Code kann verschiedene Absätze und Bilder enthalten oder nur Text enthalten. Derzeit ist mir bewusst, dass Sie einen Absatz oder ein Bild in ein Inhaltssteuerelement einfügen können. Ich würde jedoch gerne wissen, ob es möglich ist, die gesamte Auswahl in ein Inhaltssteuerelement einzufügen. Ich bin mir bewusst, ich so etwas wie diesesVerschiedene Absätze in ein Inhaltssteuerelement einfügen Office-js

var contentControl = paragraphs.items[0].insertContentControl(); 

tun können, aber ich frage mich, ob es möglich wäre, mit heraus, dass es eine ganze HTML-Einfügung in ein Content-Steuerelement einfügen nach oben in den Absätzen zu brechen. Ein bisschen wie das Einfügen des Html als Objekt in ein Inhaltssteuerelement.

aktualisieren aktuellen Code

function tagInsertedContent(contentObject) { 
Word.run(function (context) { 
    var contentTitle = contentObject.Name; 
    var modDate = contentObject.LastModifiedTime; 
    var paragraphs = context.document.body.paragraphs; 
    context.load(paragraphs, 'text'); 
    return context.sync().then(function() { 
     var paragraph; 
     var contententControls; 
     for (var x = 0; x < paragraphs.items.length; x++) { 
      paragraph = paragraphs.items[x] 
      if (paragraph.text) { 
       contententControls = paragraph.insertContentControl(); 
       contententControls.title = contentTitle; 
       contententControls.tag = modDate; 
       contententControls.color ="#ff0000"; 
      } 
     } 
    }) 
    .then(context.sync()) 
    .catch(function (error) { 
     error.ErrorLocation = "Items Not Tagged"; 
     error.ErrorCode = error.debugInfo.errorLocation; 
     error.ErrorMessage = "Content was not tagged correctly"; 
     error.Selection = contentObject.Name; 
     ErrorHandler(error); 
    }) 
}); 

}

Antwort

2

haben Sie die Inhaltskontrolle versucht, Einfügen und dann die HTML? Sie können HTML auch in ein Inhaltssteuerelement einfügen.

zum Beispiel können Sie so etwas wie:

function insertHTMLinToContentControl() { 
 

 
     var myHtml = "<b> Whatever HTML you want to insert </b>"; 
 

 
     Word.run(function (ctx) { 
 
      
 
      var myContentControl = ctx.document.getSelection().insertContentControl(); 
 
      myContentControl.insertHtml(myHtml, "replace"); 
 
      return ctx.sync(); 
 
     }); 
 

 
        
 
    }

der obige Code fügt eine Inhaltskontrolle in der aktuellen Auswahl und fügt dann eine (einfach auf dieses Beispiel :)) html.

Hoffe, das hilft und glücklich Codierung !! Juan.

+0

Großartige Art, es zu tun, ich dachte an das Laden von Absatz, aber das wird definitiv funktionieren. Ich habe die Funktion, die ich hatte, aufgesetzt, aber ich nehme dir den Weg sauberer vor. – EasyE

Verwandte Themen