我正在开发一个Excel加载项,它提取单元格A1的文本包括其格式并在其自己的区域中显示文本。所以add in包含了这个(见下面的截图): •区域显示格式化文本 •按钮开始提取 Please Click to view image
bellow是我用来获取文本的代码
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);
}
});
}
以上代码正在使用" CoercionType" as" Text" 。我已经尝试了很多方法来找到解决方案,以便将文本格式化为在Sheet Cell中编写。我得到的答案只是平面文字:(请帮我解决问题
答案 0 :(得分:0)
您应该查看的对象名为RangeFont,可以作为Range.format.font访问。代码:
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);
});
答案 1 :(得分:0)
要添加到Michael Saunder的答案:虽然您可以使用myRange.format.font.load(['bold','color','italic','name','size','underline'])
,但只会在格式,单元格和格式中保持字体,粗体,斜体等等。在myRange对象表示的整个范围内。由于您只是在寻找单个单元格的格式,因此后者听起来并不适用于您(它只是一个单元格),但您显示的示例图像单元格内的不同单词具有不同的粗体,斜体,颜色等。使用当前的API,您将 无法获取此信息。
听起来你要问的是某种HTML或类似图像的单元格表示。我鼓励您将此作为我们的UserVoice(https://officespdev.uservoice.com/)的建议,以及您需要的用例的实际描述。
~Michael Zlatkovsky,Office Extensibility团队的开发人员,MSFT
答案 2 :(得分:0)
对于将来的用户-Range.getCellProperties()加载单元属性的二维数组