标签: office-addins

我可以将Microsoft Lens集成到我的应用程序中吗?

我喜欢Office Lens自动裁剪,聚焦和对齐图片的能力......主要用于收据和费用处理

我希望有一个这样的应用程序流程:

  1. 用户打开我的应用程序并单击照片收据
  2. 镜头打开(Android意图,或在iOS中类似)
  3. 用户拍照
  4. 图片返回到我的申请处理

我无法使流量发生,并且无缝地在相机和我的应用程序之间进行数据传输(照片).我有什么选择?

android ms-office office-addins android-intent ios

30
推荐指数
1
解决办法
3458
查看次数

"Office 2010加载项:图标库" - 如何从后台选项卡(docx)中提取图标

我下载了" Office 2010加载项:图标库 ",这是一个docx文件,带有两个带有图标的后台选项卡.

如何提取图标或在我的应用程序中使用它们?

icons ms-office office-addins

20
推荐指数
3
解决办法
5万
查看次数

从VSTO加载项中检测Word 2016中的文本更改

这个问题与如何从Word 2010 Addin(用C#开发)中获取"KeyPress"事件密切相关(实际上包括来自该问题答案的示例代码),但这特别是关于在Windows 10中运行的Word 2016的Visual Studio(Professional)2015中进行开发.

我正在尝试检测来自VSTO加载项的Word文档中的文本何时更改.我从中了解到

没有事件驱动的方式来做到这一点.Word在文本更改时根本不发送事件.

我看过两个解决方法:

  1. 使用WindowSelectionChange事件.不幸的是,当通过按箭头键,使用鼠标,执行撤消或重做以及可能的其他操作来更改选择时,似乎会发送此事件,但在键入或删除时则不会.
  2. 使用低级keydown事件挂钩.这已在其中一些StackOverflow问题中进行了讨论,并且在2014年2月的Visual Studio论坛中的一个帖子中也被称为"广泛传播的技术" .

我试图在如何从Word 2010 Addin(用C#开发)中获取"KeyPress"事件的答案中使用代码,它似乎观察每个keydown事件,除了那些发送到Word 2016.

这是我正在使用的代码,以便于参考.

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Threading;
using System.Windows.Forms;

namespace KeydownWordAddIn
{
    public partial class ThisAddIn
    {
        private const int WH_KEYBOARD_LL = 13;
        private const int WM_KEYDOWN = 0x0100;

        private static IntPtr …
Run Code Online (Sandbox Code Playgroud)

vsto ms-word office-addins visual-studio-2015

15
推荐指数
2
解决办法
3850
查看次数

Outlook 2016 for Mac中的Office.context.ui.messageParent是否已损坏?

我正在使用新的Office-JS apis开发Outlook插件,并且在构建身份验证流程时,我发现在Outlook 2016 for Mac案例中,对话框系统似乎无法正常工作.

为了清楚起见,我们正在使用Office Insider Fast Track构建,因为它大大改进了对Office-JS API的支持.

我经历了这个特定部分的几次迭代(其中大多数在Windows客户端和Mac和Win上的Web客户端都运行良好),并且没有运气.场景是:

  1. 项目清单
  2. 在outlook中打开任务窗格.
  3. 点击登录按钮
  4. 打开一个新窗口,指向我们的身份验证门户
  5. 用户登录.
  6. 在auth完成时,窗口重定向到office外接作用域中的页面,并使用auth令牌回调父帧,可以在其中进一步处理.

步骤1到5在所有平台上都能正常工作.第6步拒绝使用Outlook for Mac.最初,此流程是使用本机js window.open和window.postMessage apis构建的.如上所述,除了Outlook Mac之外,这个工作无处不在,其中,API似乎忽略了窗口选项,只是在任何打开的浏览器中打开新选项卡中的url并且从不设置子窗口引用(window.open的结果为null ).

如果做不到这一点,我按照SO上的建议来使用Office功能,displayDialogAsync和messageParent.在一些初步障碍之后,这也是设置并在除了Outlook Mac之外的每个平台上工作.

由于Mac Outlook中没有开发工具或JS控制台支持,我按照此处的建议操作:Outlook 2016 for Mac - 调试/查看控制台登录Outlook加载项并设置Vorlon以尝试获取一些上下文,添加大量日志记录指向尝试并获得一些背景.不幸的是,虽然Vorlon确实将我的身份验证登陆页面作为客户端,并且看到了Office界面,但我的控制台输出都没有显示出来,这使得JS看起来好像根本没有运行.

在这一点上,我不知道下一步该尝试什么.有没有人遇到过这个问题,或者是在Outlook 2016 for Mac客户端上工作?

澄清背景:

  • 所有身份验证页面都列在Manifest的AppDomains部分中.
  • 虽然初始版本直接指向我们的auth服务(这不适用于Mac),但当前版本首先打开一个范围内的预认证页面,该页面重定向到auth服务.
  • Office-JS api的阻止警报,阻止它们用于显示有用信息.
  • 通过此应用程序的所有版本进行身份验证已在Windows上的Outlook 2016和Win和Mac上的OWA上运行.

谢谢.

macos office-addins office-js outlook-2016 office-store

13
推荐指数
1
解决办法
690
查看次数

为什么Word的自定义后台UI不显示其用户界面?

我有一个Office插件,它使用以下后台XML将自定义UI元素添加到Microsoft Word后台:

<?xml version="1.0" encoding="UTF-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
  <backstage onShow="Backstage_OnShow">
    <tab idMso="TabSave">
      <firstColumn>
        <taskFormGroup idMso="SaveGroup">
          <category idMso="Save">
            <task id="myCustomTask" label="My Custom Task" insertAfterMso="ButtonTaskDynamicServiceProvider">
              <group id="myGroupInTabSave" label="Custom functionality" helperText="This group contains custom functionality.">
                <primaryItem>
                  <button id="myButton" label="My Button" onAction="CallMe" />
                </primaryItem>
              </group>
            </task>
          </category>
        </taskFormGroup>
      </firstColumn>
    </tab>
  </backstage>
</customUI>
Run Code Online (Sandbox Code Playgroud)

这是此处描述的修改"另存为"对话框的确切基本情况.

在我的机器上,它在"另存为"下没有显示任何内容.但是,我确实在后台显示时调用了以下函数:

public void Backstage_OnShow(object contextObject) {
    // It hits this method.
}
Run Code Online (Sandbox Code Playgroud)

UI无法显示的原因是什么,以及如何调试此处发生的事情?我尝试Show add-in user interface errors在"常规"部分的"Word选项"的"高级"选项卡中打开,但据我所知,它不会向我显示任何错误.

不确定它是否有帮助,但我们的功能区继承了IRibbonExtensibility.

我们还发现这种逻辑有时适用于某些机器而不适用于其他机器.我无法理解为什么......我可以告诉你的一件事是,这个插件的类型是注册的,regasm而不是使用path|vstolocalOutlook注册表下的注册表项安装的插件.换句话说,我们正在使用regasm安装插件. …

.net c# xml office-addins word-addins

11
推荐指数
1
解决办法
851
查看次数

从Visual Studio扩展生成代码

我有一个项目,基于元数据生成文本(表示一个接口和一个类).我想采用这个生成的代码并将其作为新类和接口直接插入到特定项目和目录下当前打开的解决方案中.我将创建将生成类的菜单工具,但我不知道该怎么做是从我的自定义Visual Studio扩展中获取对以下项的访问:

  1. 迭代当前的解决方案并找到一个项目来将生成的代码转储到其中.
  2. 在Visual Studio中打开一个新文件窗口,将生成的文本从我的工具直接注入该窗口.
  3. 在我的自定义扩展中,在当前解决方案中的特定项目中创建一个新文件夹.

编辑 - 澄清我需要打开一个新文件(例如右键单击一个项目 - >添加 - >新类)并从我的自定义Visual Studio扩展中插入文本.

谢谢

c# visual-studio-2010 office-addins visual-studio-extensions

9
推荐指数
1
解决办法
4194
查看次数

Word 2016插件评论没有创建新的

我在两年多前为Word创建了一个插件.在Windows上新的Word版本2016之后.我在创建评论时遇到了一些问题.

如何重现问题:

在Visual Studio中创建一个简单的单词addin项目.将一个功能区添加到项目中.在功能区上添加一个按钮,单击该按钮可创建注释.

运行插件.在选项卡审查下的Word 2016中.关闭显示注释并将标记设置为简单标记.

现在使用插件中的按钮添加两条注释.然后在单词中使用内置注释系统在两个注释之间添加注释.在选项卡Review下再次启用显示评论.现在在文档末尾添加注释.现在您应该看到新注释为空,文本将添加到文档的第一个注释中.

如果在向文档添加任何注释之前打开显示注释,则一切都应按预期工作.如果您在比Word 2016旧版本中重新创建上述内容,一切正常.

我的代码

这是我创建评论的基本代码

private void button2_Click(object sender, RibbonControlEventArgs e)
{
        Document oDocument = Globals.ThisAddIn.Application.ActiveDocument;
        Selection curSel = Globals.ThisAddIn.Application.Selection;
        oDocument.Comments.Add(curSel.Range, "My comment");            
}
Run Code Online (Sandbox Code Playgroud)

我希望有人可以帮助解决这个问题.我现在尝试了从更改vsto版本和使用不同代码创建不同项目的所有内容.

c# vsto ms-office office-addins

9
推荐指数
0
解决办法
307
查看次数

在XML功能区中以编程方式访问功能区元素

这似乎已经多次被问到这里没有真正的答案:

在XML功能区中以编程方式访问功能区控件

Office功能区:如何在使用XML创建功能区时访问控件

如果使用功能区xml创建功能区,据我所知,没有编程在该xml中定义的组件.改变这些组件状态的唯一明显有限的方法是使用类似onAction,getContent,getImage事件的东西,而IRibbonControl元素对于操纵有问题的元素几乎没有提供(更不用说,大多数这些函数只运行一次) ,首次渲染时).

所以我试图找到一种以编程方式访问这些xml功能区元素的方法.

c# outlook ms-office office-addins

8
推荐指数
1
解决办法
4835
查看次数

从Office启动WPF窗口添加

我创建了一个办公室加载项,它包含一个WPF应用程序的实例.当用户单击加载项上的按钮时,我通过执行以下操作启动不同的窗口:

MyViewModel viewModel = new MyViewModel(string infoFromOffice);
MyWindow view = new MyWindow();
view.DataContext = viewModel;

wpfApp.Run(view);
Run Code Online (Sandbox Code Playgroud)

在我调用之前构建视图模型我wpfApp.Run()稍后使用当前的SynchronizationContext命中probelms.这里的答案解释了原因.有没有更好的方法从办公室加载项启动WPF窗口?

c# wpf ms-office mvvm office-addins

8
推荐指数
1
解决办法
3593
查看次数

Visual Studio 2019中缺少Javascript控制台窗口

我正在调试Office加载项。当我附加调试器并选择Visual Studio 2019作为调试器目标时,调试器将成功附加,并且我可以检查DOM。但是,在DebugDebug -> Windows菜单中没有选项可以像在VS 2017中那样打开Javascript控制台窗口。

在此处输入图片说明

我想念什么?

debugging office-addins visual-studio visual-studio-2019

7
推荐指数
1
解决办法
1195
查看次数