标签: outlook-addin

更改任何表单区域/功能区属性会破坏Visual Studio编辑器

我有Visual Studio 2010和Outlook Addin 2010项目(.NET 4目标)的问题.我已经在我的项目中添加了一个表单区域,然后我将Localizable属性更改为true.现在,如果我关闭我的表单区域并重新打开它,我将收到此VS错误页面:

To prevent possible data loss before loading the designer, the following errors 
must be resolved: 
The variable 'resources' is either undeclared or was never assigned.
Run Code Online (Sandbox Code Playgroud)

如果代码是针对.NET 4的,那么当我更改表单区域或功能区中的任何属性时,实际上会发生这种情况.在针对.NET 3.5的项目中,一切都是有序的.这个错误引用的示例代码是由VS创建的,它是其中的一部分FormRegion.Designer.cs.它打破了ApplyResources(如果我发表评论,那么一切都好).

private void InitializeComponent()
{
    System.ComponentModel.ComponentResourceManager resources = 
        new System.ComponentModel.ComponentResourceManager(typeof(FormRegion1));
    this.SuspendLayout();
    // 
    // FormRegion1
    // 
    resources.ApplyResources(this, "$this");
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    this.Name = "FormRegion1";
    this.FormRegionShowing += 
        new System.EventHandler(this.FormRegion1_FormRegionShowing);
    this.FormRegionClosed += 
        new System.EventHandler(this.FormRegion1_FormRegionClosed);
    this.ResumeLayout(false);
}
Run Code Online (Sandbox Code Playgroud)

如果我选择忽略错误并强制VS加载可视化编辑器,那么我会收到另一个错误:

Cannot open a designer for the file …
Run Code Online (Sandbox Code Playgroud)

.net vsto visual-studio-2010 outlook-addin outlook-2010

5
推荐指数
0
解决办法
754
查看次数

Outlook 2003和Outlook 2007插件COM资源发布

我已经完成了第二个完整的Outlook 2003插件.

我想知道的是两件事:

  1. 是否有必要在开发Outlook 2003/2007插件时释放COM对象?

我知道它们会被框架及时发布,我不知道的是它经常发生的真正必要性吗?

  1. 为什么Microsoft仍然使用.Net COM Wrappers作为插件而不是纯.Net.

我知道Web服务Exchange提供检索邮件消息,但并不总是想要使用它,而是使用全面的Outlook功能.

谢谢.

.net com outlook outlook-addin

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

使用自定义HTML代码替换Outlook下的文本选择的替代方法

我需要在使用自定义HTML代码编辑Outlook电子邮件时替换用户选择.

我尝试了两种方法:

使用剪贴板

  1. 在HTML模式下.
  2. Word.Range从中获取Word.Selection.
  3. 做一个range.Copy()把它放在剪贴板中
  4. 转换inputStringoutputString
  5. outputStringwith 替换选择range.PasteSpecial(...)

使用Open XML格式

  1. 在HTML模式下.
  2. Word.Range从中获取Word.Selection.
  3. 做一个range.Copy()把它放在剪贴板中.
  4. 转换inputStringoutputString(以Office Open XML格式,知道如何制作它以生成特定的HTML).
  5. outputStringwith 替换选择range.InsertXML(...)

问题是:

  1. 使用剪贴板时,它有时会崩溃.有关于检查剪贴板状态的参考,但我想我已经尝试了已知的替代方案.
  2. 要使用insertXML您需要安装Microsoft Word.insertXML单独安装Outlook 无法执行此操作.请看:没有Word 2007部署Outlook 2007的影响,以获取更多信息.

你知道更多的选择吗?我可以想到自己添加元素就像使用InsertParagraph,但我不确定我是否可以添加超链接或将遇到类似的问题.

vba word-vba outlook-vba outlook-addin

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

"编译Outlook 2010加载项时签名时出错:密钥在指定状态下无效"

我正在构建一个Outlook 2010加载项,它将使用票证系统的API与我们的票证系统绑定.一周前,我能够编译并获得正确执行其功能的上下文/功能区菜单.今天早上我添加了一些函数来加密和解密API密钥,但现在当我尝试编译时,我得到了

"错误1签名时发生错误:密钥无法在指定状态下使用."

没有与错误关联的行号或文件.起初我认为这是我已经包含的System.Security类,但是注释掉与此相关的所有内容并删除对System.Security的引用并没有解决问题.

我已经尝试重新启动所有内容并进行干净的构建而没有运气.在这个论坛帖子的建议我尝试删除我的机器和本地RSA文件,但没有任何区别.我还尝试删除我的解决方案中的_TemporaryKey.pfx文件,希望如果有问题,VS会重新创建一个新的工作,但是甚至没有更改错误消息告诉我文件丢失了.

毕竟,我尝试打开一个不同的加载项目,我没有修改大约一个星期,它也有同样的错误.我不确定此时是否存在Visual Studio或我的计算机的问题,但是一个全新的Outlook加载项项目将成功编译,因此它只影响旧项目.

c# signing visual-studio-2010 outlook-addin

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

如何区分Outlook 2010中的内嵌图像和附件[C#]

嗨,我必须使用C#在Outlook 2010的本地目录中分别阅读附件和内联图像.我已经使用了属性和内容ID概念.我正在使用以下代码,但它现在正在工作.

if (mailItem.Attachments.Count > 0)
{
    /*for (int i = 1; i <= mailItem.Attachments.Count; i++)
    {
    string filePath = Path.Combine(destinationDirectory, mailItem.Attachments[i].FileName);
    mailItem.Attachments[i].SaveAsFile(filePath);
    AttachmentDetails.Add(filePath);
    }*/

    foreach (Outlook.Attachment atmt in mailItem.Attachments)
    {
        MessageBox.Show("inside for each loop" );
        prop = atmt.PropertyAccessor;
        string contentID = (string)prop.GetProperty(SchemaPR_ATTACH_CONTENT_ID);
        MessageBox.Show("content if is " +contentID);

        if (contentID != "")
        {
            MessageBox.Show("inside if loop");
            string filePath = Path.Combine(destinationDirectory, atmt.FileName);
            MessageBox.Show(filePath);
            atmt.SaveAsFile(filePath);
            AttachmentDetails.Add(filePath);
        }
        else
        {
            MessageBox.Show("inside else loop");
            string filePath = Path.Combine(destinationDirectoryT, atmt.FileName);
            atmt.SaveAsFile(filePath);
            AttachmentDetails.Add(filePath);
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# msdn mailitem outlook-addin

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

Outlook加载项的弹出通知(从后台线程问题调用Form.Show())

我的Outlook 2010加载项(使用VSTO)在发送邮件时在不同的线程中执行一些Web服务调用.我想显示一个小的非模态弹出通知(如Skype/yahoo/Windows live messenger的通知),显示网络服务调用的结果.

我正在尝试根据我的要求自定义通知窗口项目.当使用以下代码从我的加载项的形式的单击事件处理程序调用时,它似乎工作正常:

private void btnOk_Click(object sender, EventArgs e)
{
    PopupNotifier notifier = new PopupNotifier();
    notifier.DisplayNotification("Test");
}
Run Code Online (Sandbox Code Playgroud)

但是,当从执行Web服务调用的后台线程调用相同的方法notifier.DisplayNotification("Test")时,通知程序挂起; 它的形式显示在屏幕上,但似乎没有文字,颜色或动画.它只是坐在那里,直到Outlook关闭.

我做了一些搜索,发现这可能发生,因为通知程序使用Show()方法而不是ShowDialog()来显示其表单.由于我不想弹出通知的模态对话框,我也无法将方法更改为ShowDialog().

根据其他文章,我也尝试使用backgroundWorkers,delegates,MethodInvoker等调用该方法,但无法获得所需的结果.

然而,在尝试上述内容时,我注意到不仅弹出通知程序,而且任何简单形式都会发生同样的情况.如果我在后台线程中创建它并调用Show()方法,它就会卡住,而在相同的情况下,ShowDialog()似乎工作正常.

任何关于如何解决这个问题的想法将不胜感激.

c# vsto winforms outlook-addin

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

VbaProject.OTM部署

我来到此页面,正在考虑将我的VbaProject.OTM文件(位于中%appdata%\Microsoft\Outlook\)分发给办公室中大约30位用户的最佳方法。是更好地简单地复制/ OTM的文件粘贴到网络,然后复制/粘贴回所有用户的计算机(手动或使用.BAT)OR它会更好使用的方法在上述生成的链接描述一个OPS文件,然后使用Proflwiz.exe将其导入回来?有什么不同?

实际上,我们都在Microsoft Office Outlook 2003上,也许有一天,但可能要几年后,才能升级到2007。

outlook vba outlook-vba outlook-addin

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

将Outlook加载项部署到Citrix XenApp安装

我创建了一个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初始化失败."

以前有人遇到这个或类似的东西吗?提前致谢.

vsto citrix ms-office outlook-addin xenapp

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

MS Visual Studio找不到Internet Explorer(开发Outlook Web加载项)

我正在尝试开发我的第一个每个Office加载项(用于Outlook).研究表明,这应该是一个基于Web的插件.

我创建了一个新项目(Outlook Web加载项),并尝试在调试器中运行它并收到错误"无法启动调试.无法找到Microsoft Internet Explorer".

我找不到任何设置来更改默认浏览器.我错过了什么?Widows 10,Visual Studio 2017.


[更新]我将为解决方案提供一个很好的奖励(由答案的质量决定),加上 微软说"加载项将在IIS本地托管",我甚至不知道这意味着什么: - (

有人可以解释如何为Outlook Web加载项设置开发环境吗?编码本身似乎很简单,但由于环境设置,我无法上手.

visual-studio outlook-addin

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

直接从 Outlook 加载项调用 Microsoft Graph API

我有一个基于 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

5
推荐指数
0
解决办法
575
查看次数