2016-04-27 12 views
1

Ich versuche, ein Word-Add-In in office.js zu erstellen, das Kommentare in das Dokument einfügt. Es scheint mir der einzige Weg, dies zu erreichen, die Verwendung von OOXML.Fügen Sie einen Kommentar in Word mit office.js ein

Ich kann den Kommentar einfügen, aber mein Problem ist, dass wenn ich dies tun ein Absatz Pause eingefügt wird, als auch aus diesem Bild zu sehen ist.

enter image description here

Ein weit ich sehen kann, um das läuft darauf hinaus, wenn ich nur das Einfügen einen Text der Inhalt des Körpers wie folgt aussieht, die

<w:p> 
    <w:r> 
     <w:t>Some text</w:t> 
    </w:r> 
</w:p> 

gut funktioniert Aber wenn ich bin Wenn Sie einen Verweis auf einen Kommentar einfügen, endet der Absatz nach dem, was ich gerade eingegeben habe. In diesem Fall sieht der Inhalt des Körpers wie folgt aus:

<w:p> 
    <w:commentRangeStart w:id="0"/> 
    <w:r> 
     <w:t>selectedText</w:t> 
    </w:r> 
    <w:r> 
     <w:commentReference w:id="0"/> 
    </w:r> 
    <w:commentRangeEnd w:id="0"/> 
</w:p> 

Der Javascript-Code verwendet, um den markierten Text zu ersetzen, sieht wie folgt aus:

function insertComment() { 
    Office.context.document.getSelectedDataAsync(
     Office.CoercionType.Text, 
     function (result) { 
      if (result.status == "succeeded") { 
       // Get the OOXML returned from the getSelectedDataAsync call. 
       var selectedText = result.value; 
       var comment = getCommentAsOoxml(selectedText); 
       Office.context.document.setSelectedDataAsync(comment, { coercionType: Office.CoercionType.Ooxml }, function (asyncResult) { 
        if (asyncResult.status == "failed") { 
         console.debug("Action failed with error: " + asyncResult.error.message); 
        } 
       }); 
      } 
     }); 
} 

Die OOXML, die hier gesehen werden kann, wird eingefügt:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<?mso-application progid="Word.Document"?> 
<pkg:package 
    xmlns:pkg="http://schemas.microsoft.com/office/2006/xmlPackage"> 
    <pkg:part pkg:name="/_rels/.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml" pkg:padding="512"> 
     <pkg:xmlData> 
      <Relationships 
       xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> 
       <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/> 
      </Relationships> 
     </pkg:xmlData> 
    </pkg:part> 
    <pkg:part pkg:name="/word/_rels/document.xml.rels" pkg:contentType="application/vnd.openxmlformats-package.relationships+xml" pkg:padding="256"> 
     <pkg:xmlData> 
      <Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"> 
       <Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments" Target="comments.xml"/> 
      </Relationships> 
     </pkg:xmlData> 
    </pkg:part> 
    <pkg:part pkg:name="/word/document.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"> 
     <pkg:xmlData> 
      <w:document 
       xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"> 
       <w:body> 
        <w:p> 
         <w:commentRangeStart w:id="0"/> 
         <w:r> 
          <w:t>selectedText</w:t> 
         </w:r> 
         <w:r> 
          <w:commentReference w:id="0"/> 
         </w:r> 
         <w:commentRangeEnd w:id="0"/> 
        </w:p> 
       </w:body> 
      </w:document> 
     </pkg:xmlData> 
    </pkg:part> 
    <pkg:part pkg:name="/word/comments.xml" pkg:contentType="application/vnd.openxmlformats-officedocument.wordprocessingml.comments+xml"> 
     <pkg:xmlData> 
      <w:comments 
       xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"> 
       <w:comment w:id="0" w:author="jkh" w:date="2016-04-27T08:15:00Z" w:initials="JH"> 
        <w:p> 
         <w:r> 
          <w:t>comment</w:t> 
         </w:r> 
        </w:p> 
       </w:comment> 
      </w:comments> 
     </pkg:xmlData> 
    </pkg:part> 
</pkg:package> 

Entschuldigung für die außergewöhnlich lange Post. Ein neuer Benutzer wird beim Einsetzen Link und Bilder :(

bedauernd eingeschränkt
+0

Ein Vorschlag kann ich Das Angebot besteht darin, ein sehr einfaches Dokument zu erstellen (so wie Sie es in Ihrem Bild sehen), es zu speichern, den Kommentar zu erstellen und unter einem anderen Namen erneut zu speichern. Verwenden Sie nun das Tool Open XML SDK Productivity und öffnen Sie das erste Dokument Tool * Compare * Funktionalität können Sie die WordOpenXML für den Kommentar wie in der Benutzeroberfläche sehen, die nicht den zusätzlichen Absatz generiert .. –

Antwort

0

dies ist eigentlich ein bestätigter Fehler in der API. Eine Lösung für dies wird im Rahmen eines kommenden Office-Update ausgerollt wird.

+0

Vielen Dank für Ihre schnelle Antwort und Entschuldigung für meine späte Antwort. Weißt du, wo ich einen Fehlerbericht und sehen kann Wann wird das nächste Office-Update bereitgestellt? – jkh