我想突出显示电子邮件正文中的一些文本,然后单击某些内容(工具栏按钮等)
Outlook.Application myApplication = Globals.ThisAddIn.Application;
Outlook.Explorer myActiveExplorer = (Outlook.Explorer)myApplication.ActiveExplorer();
Outlook.Selection selection = myActiveExplorer.Selection;
if (selection.Count == 1 && selection[1] is Outlook.MailItem)
{
Outlook.MailItem mail = (Outlook.MailItem)selection[1];
mail.Copy(); // currently opened mail
Outlook.MailItem mailItem = (Outlook.MailItem)
myApplication.CreateItem(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem);
mailItem.Subject = mail.Subject;
mailItem.To = mail.To;
mailItem.Body = ????? // copy only selected text/images of user
mailItem.Importance = Outlook.OlImportance.olImportanceLow;
mailItem.Display(true);
}
Run Code Online (Sandbox Code Playgroud)
在mailITem.Body 上,我只想粘贴选定邮件(// 当前打开的邮件)中用户的选定文本/图像。我该如何实现它,我找不到粘贴方法。所选项目是什么,它存储到 sql server 数据库
我正在开发一个 Outlook 2010 加载项,它为用户输入提供了一个对话框。在功能区中显示按钮所需的代码位于其自己的 Outlook 2010 加载项项目中。该项目引用了负责大部分工作的 WPF 用户控件库。
我在 WPF 用户控件库项目中使用了一个静态方法,该方法负责正确配置 Caliburn.Micro 并显示对话框。除了我无法弄清楚如何正确定位对话框之外,所有这些都按预期工作。我希望它以 Outlook 窗口为中心显示。我知道我可以访问Microsoft.Office.Interop.Outlook.Application.ActiveWindow(),但我看不出这对我有什么帮助,因为我无法将其翻译成PlacementTarget在 Caliburn.Micro WindowManager 的 ShowDialog 方法的设置中将其为预期。
namespace WpfUserControlLibrary {
public static class Connector {
public static void ShowDialog() {
new AppBootstrapper();
var windowManager = IoC.Get<IWindowManager>();
windowManager.ShowDialog( new ShellViewModel() );
}
}
}
Run Code Online (Sandbox Code Playgroud)
WpfUserControlLibrary.Connector.ShowDialog();
Run Code Online (Sandbox Code Playgroud) 我创建了一个Outlook插件.它没有什么特别的,只需添加一个带有一个菜单项的菜单.我按照http://blogs.msdn.com/b/mcsuksoldev/archive/2010/10/01/building-and-deploying-an-outlook-2010-add-in-part-2-of中的安装程序创建教程进行了操作.-2.aspx.
它在普通的Windows桌面安装上安装并正常运行,但我无法弄清楚如何在Citrix XenApp环境中执行此操作.我可以使用安装程序在安装Outlook成功的相同配置文件中安装它.但是当Outlook运行时,当我从"信任中心"菜单中查看它时,它位于"非活动应用程序插件"部分,并且它无法正常激活.如果我打开Manage COM Addins菜单,它会显示"Load at Startup"作为我的插件的加载行为.如果我尝试从此菜单手动激活它,则不会发生任何事情,如果我再次打开它,Load Behavior将更改为"Not Loaded.Managed Add-in Loader初始化失败."
以前有人遇到这个或类似的东西吗?提前致谢.
是否可以设置 Outlook 加载项加载时的宽度。现在,当我单击功能区上的插件按钮时,任务窗格会显示在右侧,宽度约为 437 像素。我想将该宽度增加到 820 像素之类的值。
我想使用一些 HTML + JavaScript 创建一个 Office 加载项,以便在 Office 商店中出售。而且这个插件不需要使用任何服务器端设施。但是,如果我了解https://dev.office.com/getting-started/addins,则 Add-in 的源文件必须托管在某个 Web 服务器上。
所以主要问题:我可以以某种方式将加载项的所有源和所有资源打包到输出 DLL 文件中,并仅将清单和 DLL 文件推送到 Office Store,而无需任何 Web 服务器吗?
我需要它来允许来自 Office 商店的用户,将这个插件安装到他的办公室,甚至可以离线使用它(没有互联网连接)。
如果有人决定窃取我的资源并创建加载项的副本,那么这种配置对于反向加载项也有点复杂。
我有一个用新的 Javascript API (office.js) 编写的 Outlook 加载项。
我从日历中的约会的撰写表单中进行了一些操作(向正文添加主题后缀和一些文本)。完成操作后,我调用:
Office.context.mailbox.item.saveAsync(callback)
Run Code Online (Sandbox Code Playgroud)
包含更改的项目会被保存,但是当我在 Outlook Web UI 上致电Office.context.mailbox.item.close() 或关闭约会撰写表单时 - 如果我想保存更改或放弃更改,则会显示一个对话框,尽管自saveAsync通话以来没有进行任何更改。
无论用户是单击“保存”还是“放弃”,约会都具有我在saveAsync调用前使用加载项所做的更改。这种行为的原因是什么?
我发现启动 Outlook 加载项时,您在清单中配置的 URL 不会保留片段 URL,这会破坏单页应用程序 (SPA)。如果您只是尝试转到 SPA 的默认路由(例如index.html),那么它工作正常,但如果您尝试直接转到应用程序内的片段URL(路由),那么它就不起作用,例如index.html#我的页面
\n\nindex.html#mypage实际上更改为:\ nindex.html?et=&_host_Info=Outlook|Web|1\xe2\x80\xa6_1480636166782|ocii1|https://outlook.office.com/owa/?realm=XYZ.com#&_serializer_version=1mypage&_xdm_Info=-133b2041_-3d735892_1480636166782|ocii1|https://outlook.office.com/owa/?realm=XYZ.com
有关该问题的进一步说明可以在此处找到:\n https://camerondwyer.wordpress.com/2016/12/02/issues-launching-outlook-add-ins-directly-to-a-spa-route-using-片段网址/
\n\n目前,我无法选择迁移到 HTML5 样式 URL,因此 SPA 内的路由需要使用片段 URL (hashbang)。我想任何尝试启动加载项并在 URL 中传递参数的人都会遇到类似的问题。
\n我们开发了一个 C# Office VSTO 加载项,它与正在运行的 Outlook 实例进行通信(或启动一个新实例),并且在尝试创建 Outlook 任务或约会时,它在某些客户 PC 上显示出存在权限问题的迹象。 。
异常消息如下:
操作中止(HRESULT 异常:0x80004004 (E_ABORT))
这发生在这里:
Outlook.Account DefaultAccount = null;
Outlook.Application outlookApp = GetOutlookApp(); //returns Application object of running Outlook instance / creates a new instance - it works for them.
DefaultAccount = GetAccountForFolder(outlookApp); //returns the default account of the user. Tried it with a simple setup, only one account etc. - it works for them
String defaultemailaddress;
//CODE RUNS UNTIL THIS POINT
if (DefaultAccount == null) //if somehow …Run Code Online (Sandbox Code Playgroud) 我有一个基于 React 的 SPA Outlook 插件,我正在尝试直接调用 Microsoft Graph API。
有没有办法利用Office.context.mailbox.getCallbackTokenAsync()或Office.context.auth.getAccessTokenAsync()获取 AccessToken 以直接从外接程序调用图形 API?
据我所知, getCallbackTokenAsync() 将允许我直接调用 Outlook REST API(我遇到了范围令牌的问题,因为我的清单权限未设置为 ReadWriteMailbox),并且 getAccessTokenAsync() 提供的 SSO 令牌将仅如果我将它传递到某处的服务器以“代表”OAuth 请求运行,则可以工作。
我不想通过 SSO 流通过服务器代理我的所有图形请求,但到目前为止,这是我看到的唯一解决方案。
outlook outlook-addin office365 outlook-restapi microsoft-graph-api