标签: apps-for-office

通过Office Javascript API 1.1发表评论

我的任务是通过Office Javascript API在与Word 2007或更高版本兼容的Word文档(.docx)中发表评论.

我发现,没有直接的方法可以通过Microsoft API执行此操作.

由于我能够将OOXML传递给Word文档,我认为我可以使用它来发表评论.

我对Word文档结构进行了一些研究,发现注释存储在一个名为"comments.xml"的单独XML文件中,然后通过"document.xml"中的ID引用(我附上了相应的示例).

有没有编辑这个方式comments.xml通过API,以便将Word文档中的注释,或者这是不是可能呢?

示例"document.xml":

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<w:document
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
    mc:Ignorable="w14 wp14">
<w:body>
    <w:p w:rsidR="00A9590C" w:rsidRDefault="0058668B">
        <w:r>
            <w:t>I am text.</w:t>
        </w:r>
    </w:p>
    <w:p w:rsidR="0058668B" w:rsidRDefault="0058668B">
        <w:commentRangeStart w:id="0"/>
        <w:r>
            <w:t>I am text with comment.</w:t>
        </w:r>
        <w:commentRangeEnd w:id="0"/>
        <w:r>
            <w:rPr>
                <w:rStyle w:val="Kommentarzeichen"/>
            </w:rPr>
            <w:commentReference w:id="0"/>
        </w:r>
    </w:p>
    <w:sectPr w:rsidR="0058668B">
        <w:pgSz w:w="11906" w:h="16838"/>
        <w:pgMar w:top="1417" w:right="1417" w:bottom="1134" w:left="1417" w:header="708" w:footer="708"
                 w:gutter="0"/>
        <w:cols w:space="708"/>
        <w:docGrid w:linePitch="360"/>
    </w:sectPr>
</w:body>
Run Code Online (Sandbox Code Playgroud)

示例"comments.xml":

 <?xml version="1.0" …
Run Code Online (Sandbox Code Playgroud)

javascript ms-office office365 apps-for-office

15
推荐指数
1
解决办法
655
查看次数

Office加载项使用什么浏览器/浏览器引擎?

因此,我正在尝试开始开发Office 365加载项(以前的Office for Office),我想知道Office在呈现应用时使用的浏览器或浏览器引擎.我尝试使用JavaScript的navigator.appCodeNamenavigator.appName,但由于所描述的问题,这里将呈现方法没用.Office加载项用于呈现应用程序的浏览器或引擎是什么?

ms-office office365 apps-for-office

5
推荐指数
1
解决办法
764
查看次数

如何在Outlook加载项集成中获取用户的实际电子邮件ID

我已集成创建的一个加载项以集成到Outlook Mail中.

我已经使用了Office内置代码(Javascript代码).

现在要测试加载项我在微软注册了我的个人电子邮件ID.注册后我发现在Outlook Mail中,Profile中有两个不同的Mail Ids.

喜欢

  1. alex.p@***.com
  2. outlook_1203434@outlook.com

现在我需要第一个验证,但我每次都得到第二个.

我使用下面的代码.

 Office.initialize = function (reason) {
    item = Office.context.mailbox.item;
    console.log(Office.context.mailbox.userProfile.displayName);
    console.log(Office.context.mailbox.userProfile.emailAddress);
 }
Run Code Online (Sandbox Code Playgroud)

请建议我以其他方式获取用户的电子邮件ID.

javascript outlook-addin apps-for-office office-js

5
推荐指数
1
解决办法
1820
查看次数

调试任务窗格Office for Office

我正在尝试调试我的Office for Office,它在Microsoft Excel的任务窗格中运行.我正在使用Visual Studio 2012运行它.我想要的功能很简单 - 因为所有的Office for Apps都是创建的Internet Explorer任务窗格,是否可以检查作用于每个HTML元素的CSS,方式类似于Firebug有效吗?

能够单击HTML元素并且知道CSS自动对该元素起作用是非常有用的.特别是对于大型项目.

有谁知道这怎么可能?

非常感谢

html css ms-office visual-studio apps-for-office

4
推荐指数
1
解决办法
492
查看次数

Office.context.document.getFileAsync抛出错误

我得到一个很奇怪的问题,即当我尝试提取Word文档在我的MS Word任务窗格MVC处理压缩文件应用程序中的第三次,它会炸毁.

这是代码:

Office.context.document.getFileAsync(Office.FileType.Compressed, function (result) {
if (result.status == "succeeded") {
    var file = result.value;

    file.getSliceAsync(0, function (resultSlice) {
        //DO SOMETHING
    });
} else {
    //TODO: Service fault handling?
}
});
Run Code Online (Sandbox Code Playgroud)

出现的错误代码是5001.我不知道如何解决这个问题.

如果您对此有任何想法,请告诉我.

额外细节:

在此输入图像描述

javascript ms-office apps-for-office

3
推荐指数
1
解决办法
1456
查看次数

如何在不同的Word.run上下文中使用范围?

我为单词创建了一个任务窗格插件,该插件运行搜索并以列表形式向用户显示有关结果的信息。当用户单击列表中的某个项目时,我想选择字词范围以向用户显示该项目的位置。然后,该插件将允许用户在范围上执行其他任务,例如更改字体颜色。

我可以使用以下功能运行搜索并获取显示范围:

function runSearch(textToFind) {
  var items = [];
  return Word.run(function(context) {
    var options = Word.SearchOptions.newObject(context);
    options.matchWildCards = false;

    var rangesFind = context.document.body.search(textToFind, options);
    context.load(rangesFind, 'text, font, style');
    return context.sync().then(function() {
      for (var i = 0; i < rangesFind.items.length; i++) {
        items.push(rangesFind.items[i]);
        context.trackedObjects.add(rangesFind.items[i]);
      }
      return context.sync();
    });
  })
  .then(function() {
    return items;
  });
}; 
Run Code Online (Sandbox Code Playgroud)

但是,我在选择用户点击范围时遇到困难。我试过使用range上下文:

function selectRange(range){
  range.select();
  return range.context.sync();
}
Run Code Online (Sandbox Code Playgroud)

或在新的Word.run上下文中使用范围:

function selectRange(range){
  return Word.run(function(context) {
    context.load(range);
    return context.sync().then(function(){
      range.select();
      return context.sync();
    });
  });
}
Run Code Online (Sandbox Code Playgroud)

我遇到了一种潜在的方法,该方法涉及为每个搜索结果创建一个内容控件,然后selectRange在新的上下文中重新加载该函数中的所有内容控件,并找到匹配的控件,但是当我已经有了范围时,这似乎效率很低。

在不同的Word.run上下文中重用范围的最佳方法是什么?

ms-word apps-for-office office-js

3
推荐指数
1
解决办法
1433
查看次数

在任务窗格应用程序/office.js 中检索整个 Word 文档

在 Word 2013(桌面)和 office.js 中,我们看到一些围绕用户选择 ( GetSelectedDataAsync, SetSelectedDataAsync) 的功能,但没有任何功能可以让您查看整个 (OpenXML) 文档。我错过了什么吗?

ms-office openxml apps-for-office

2
推荐指数
1
解决办法
1531
查看次数