我喜欢Office Lens自动裁剪,聚焦和对齐图片的能力......主要用于收据和费用处理
我希望有一个这样的应用程序流程:
我无法使流量发生,并且无缝地在相机和我的应用程序之间进行数据传输(照片).我有什么选择?
我下载了" Office 2010加载项:图标库 ",这是一个docx文件,带有两个带有图标的后台选项卡.
如何提取图标或在我的应用程序中使用它们?
这个问题与如何从Word 2010 Addin(用C#开发)中获取"KeyPress"事件密切相关?(实际上包括来自该问题答案的示例代码),但这特别是关于在Windows 10中运行的Word 2016的Visual Studio(Professional)2015中进行开发.
我正在尝试检测来自VSTO加载项的Word文档中的文本何时更改.我从中了解到
没有事件驱动的方式来做到这一点.Word在文本更改时根本不发送事件.
我看过两个解决方法:
我试图在如何从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) 我正在使用新的Office-JS apis开发Outlook插件,并且在构建身份验证流程时,我发现在Outlook 2016 for Mac案例中,对话框系统似乎无法正常工作.
为了清楚起见,我们正在使用Office Insider Fast Track构建,因为它大大改进了对Office-JS API的支持.
我经历了这个特定部分的几次迭代(其中大多数在Windows客户端和Mac和Win上的Web客户端都运行良好),并且没有运气.场景是:
步骤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客户端上工作?
澄清背景:
谢谢.
我有一个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安装插件. …
我有一个项目,基于元数据生成文本(表示一个接口和一个类).我想采用这个生成的代码并将其作为新类和接口直接插入到特定项目和目录下当前打开的解决方案中.我将创建将生成类的菜单工具,但我不知道该怎么做是从我的自定义Visual Studio扩展中获取对以下项的访问:
编辑 - 澄清我需要打开一个新文件(例如右键单击一个项目 - >添加 - >新类)并从我的自定义Visual Studio扩展中插入文本.
谢谢
c# visual-studio-2010 office-addins visual-studio-extensions
我在两年多前为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版本和使用不同代码创建不同项目的所有内容.
这似乎已经多次被问到这里没有真正的答案:
如果使用功能区xml创建功能区,据我所知,没有编程在该xml中定义的组件.改变这些组件状态的唯一明显有限的方法是使用类似onAction,getContent,getImage事件的东西,而IRibbonControl元素对于操纵有问题的元素几乎没有提供(更不用说,大多数这些函数只运行一次) ,首次渲染时).
所以我试图找到一种以编程方式访问这些xml功能区元素的方法.
我创建了一个办公室加载项,它包含一个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窗口?
我正在调试Office加载项。当我附加调试器并选择Visual Studio 2019作为调试器目标时,调试器将成功附加,并且我可以检查DOM。但是,在Debug或Debug -> Windows菜单中没有选项可以像在VS 2017中那样打开Javascript控制台窗口。
我想念什么?
office-addins ×10
c# ×5
ms-office ×5
vsto ×2
.net ×1
android ×1
debugging ×1
icons ×1
ios ×1
macos ×1
ms-word ×1
mvvm ×1
office-js ×1
office-store ×1
outlook ×1
outlook-2016 ×1
word-addins ×1
wpf ×1
xml ×1