2016-06-01 7 views
4

Ich entwickle ein Excel-Add-In, das den Text der Zelle A1 einschließlich seines Formats extrahiert und den Text in einem eigenen Bereich anzeigt. So addieren, in enthält diese (siehe Abbildung unten): • Bereich des formatierten Text • Taste zur Anzeige der Extraktion Please Click to view imageSo erhalten Sie die Formatierung einer Zelle mit Office.js

unten zu beginnen, ist der Code, den ich den Text

function displaySelectedCells() { 
    Office.context.document.getSelectedDataAsync(Office.CoercionType.Text, 
     function (result) { 
      if (result.status === Office.AsyncResultStatus.Succeeded) { 
       showNotification('The selected text is:', '"' + result.value + '"'); 
      } else { 
       showNotification('Error', result.error.message); 
      } 
     }); 
} 
erhalten bin mit

Der obige Code verwendet "CoercionType" als "Text". Ich habe viel versucht, die Lösung zu finden, um den Text in einer Sheet Cell formatiert zu erhalten. Die Antwort, die ich bin immer ist eben nur Text :(Bitte helft mir die probelm

Antwort

0

Um zu Michael Saunders Antwort hinzuzufügen: während Sie myRange.format.font.load(['bold','color','italic','name','size','underline']) verwenden können, erhalten Sie nur die Schriftart, fett, kursiv usw. , wenn die Formatierung innerhalb der Zelle und im gesamten Bereich durch das myRange-Objekt dargestellt Sie suchen nur nach dem Format einer einzelnen Zelle, es klingt nicht so, als ob das letztere auf Sie zutrifft (es ist nur eine einzelne Zelle), aber das Beispielbild, das Sie zeigen verschiedene Wörter in der Zelle haben unterschiedliche Fett-, Kursiv- und Farbschattierungen. Mit den aktuellen APIs werden Sie nicht in der Lage sein, diese Informationen zu erhalten.

Es klingt wie das, was Sie fragen, ist eine Art von HTML oder bildähnliche Darstellung der Zelle. Ich empfehle Ihnen, dies als einen Vorschlag auf unserer UserVoice (https://officespdev.uservoice.com/), zusammen mit einer Beschreibung der realen Welt der Use-Case, für die Sie dies benötigen.

~ Michael Zlatkovsky, Entwickler auf Office Extensibility-Team, MSFT

+0

Vielen Dank für Ihre schnelle Antwort. Ist es möglich, OpenXML Javascript API zu verwenden, um die Daten zu lesen, die ich benötigte, wie oben erklärt? –

+0

Re. OpenXml: Es ist nur für Word in der JavaScript-API verfügbar. Also fürchte ich nicht. –

+0

ok vielen dank. –

0

Die Aufgabe zu lösen Sie wird RangeFont genannt aussehen sollte, die als Range.format.font-Code zugegriffen wird.

Excel.run(function (ctx) { 
    var myRange = ctx.workbook.getSelectedRange(); 
    var myFont = myRange.format.font; 
    myFont.load(['bold','color','italic','name','size','underline']); 
    myRange.load('values'); 
    return ctx.sync().then(function() { 
     log(myFont.color); 
     log(myFont.bold); 
     log(myRange.values); 
    }); 
}).catch(function(error) { 
    log("Error: " + error); 
});