标签: outlook-2010

Outlook 2010自定义VBA脚本,用于将传入邮件消息移动到特定文件夹

我正在尝试为Outlook 2010创建一个自定义规则来检查电子邮件的主题,如果它生成正则表达式,则会将其移动到特定文件夹中.

但是,当我运行脚本时,当我尝试获取我要将消息移动到的文件夹的Outlook.Folder对象时,我收到以下错误:

运行时错误'91':
对象变量或未设置块变量

下面是我用来检查电子邮件主题的VBA脚本,如果匹配则将邮件移动到指定的文件夹.

Sub MoveToETS(Item As Outlook.MailItem)
    Dim Subject As String
    Subject = Item.Subject

    Dim FolderToMoveTo As Outlook.Folder
    Set FolderToMoveTo = GetFolder("ETS")

    If (CheckSubject(Subject, "^[Project|Bug] (\d+?) - \[[UPDATE|NEW|RESOLVED]\]")) Then
        Item.Move (FolderToMoveTo)
    End If
End Sub

Function CheckSubject(Subject As String, PatternToCheck As String)
    Dim ObjRegExp As RegExp
    Dim ObjMatch As Match

    Set ObjRegExp = New RegExp
    ObjRegExp.Pattern = PatternToCheck

    If (ObjRegExp.Text(Subject) = True) Then
        CheckSubject = True
    End If

End Function

Function GetFolder(ByVal FolderName As String) As Outlook.Folder …
Run Code Online (Sandbox Code Playgroud)

vba outlook-2010

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

如何在Outlook加载项中捕获打印事件?

我正在使用C#VSTO 3.0 Outlook加载项,我需要捕获Print事件(当用户从​​Outlook中选择打印选项以打印电子邮件时).我在Outlook对象模型中找不到任何提供此事件访问权限的API.有没有办法实现这个目标?

c# vsto outlook-2007 outlook-addin outlook-2010

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

在C#中处理Outlook邮件中的超链接单击事件

我想处理Outlook邮件中的超链接点击事件.在Outlook电子邮件中打开超链接而无需在其自身内打开浏览器.

有谁知道如何处理邮件项目上的超链接点击事件?

c# outlook visual-studio-2010 outlook-addin outlook-2010

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

如何访问Outlook中的"检查器"窗口功能区?

我是Outlook编程的新手,所以第一步(稍后更高级)是以下任务:

  • 创建一个新功能区(Ribbon1)选项卡(应显示在资源管理器和新检查器中)
  • 选择(探索)或打开(检查员)邮件时,功能区选项卡应显示邮件的主题(如上所述进行测试)

Explorer部分很容易上手但我在为新的检查员做上述操作时遇到了问题

我尝试了各种方法,但似乎没有工作:

  • 我已经尝试在NewInspector中引用Globals.Ribbons [inspector] .Ribbon1但是它总是为null

  • 我已经尝试在NewInspector中订阅Activate事件并从那里开始,但在那里Application.ActiveInspector()为null,如果我从NewInspector事件存储检查器的全局副本,它在第一个上不起作用新检查员(仅在第二次和之后阅读邮件.不是撰写邮件)

  • 我曾尝试使用Ribbon Load事件,但这只是第一次发生

  • 我曾尝试使用Globals.Ribbons.Ribbon1成员,但这只是第一次使用

(我发现了很多NewInspector的样本,但似乎没有人想修改除此之外的功能区/sf/ask/549641221/ to-an-an-an-object,为此没有答案)

这让我发疯了......难道真的没办法做这么简单的任务!?

示例代码供参考

    void InspectorsNewInspector(Outlook.Inspector inspector)
    {
        AddInspectorEventHandlers(inspector);
    }

    private void AddInspectorEventHandlers(Outlook.Inspector inspector)
    {
        if (inspector == null)
        {
            return;
        }

        Ribbon1 ribbon1 = Globals.Ribbons[inspector].Ribbon1; //This always return null!!!

        ((Outlook.InspectorEvents_10_Event)inspector).Activate += InspectorActivate;
        ((Outlook.InspectorEvents_10_Event)inspector).Close += InspectorClose;

        _openInspectors.Add(inspector);
    }
Run Code Online (Sandbox Code Playgroud)

vsto outlook-addin outlook-2010

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

Outlook Addin错误:未加载.加载COM加载项期间发生运行时错误

我创建了一个VSTO Outlook插件.配置如下:

  • Visual Studio 2008
  • Office 2007 Outlook添加(3.5框架)
  • MSI使用Visual Studio安装项目创建
  • 在Windows 7下部署到Office 2010

它在Dev PC上工作正常但是一旦安装在测试机器上就无法加载.outlook addin窗口显示了一个"Not loaded. A runtime error occurred during loading of COM add-in"

我的理解是,我不需要安装任何PIA,因为Office 2007 PIA是Office 2010的一部分.

到目前为止,我尝试了以下内容:

  • VSTO_SUPPRESSDISPLAYALERTS但是设置它在尝试启动时不显示任何消息.
  • 已配置Fuslogvw.exe(程序集绑定日志查看器),但它没有显示任何绑定错误.
  • 设置VTSO_LOGALERTS并记录所有警报但是没有显示这没有帮助.

除了让这个工作之外,我还有什么不对或需要做的吗?

c# vsto outlook-addin outlook-2010

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

按类别筛选Outlook约会

我编写此代码以查找指定时间范围内指定类别的所有约会的总持续时间:

private readonly MAPIFolder _timing;

private int CalculateTotalDuration(DateTime start, DateTime end, string category)
{
    string filter = String.Format(
        "([Start] >= '{0:g}') AND ([End] <= '{1:g}') AND ([Categories] = '{2}')",
        start, end, category);
    return _timing.Items.Restrict(filter).Cast<AppointmentItem>().
        Sum(appt => appt.Duration);
}
Run Code Online (Sandbox Code Playgroud)

当与俄语版本的Outlook一起使用时,此代码会导致以下异常(虽然我没有使用英文版测试它):

System.Runtime.InteropServices.COMException was unhandled
  Message=??????? ???????.
  Source=Microsoft Outlook
  ErrorCode=-2147352567
  StackTrace:
       at Microsoft.Office.Interop.Outlook._Items.Restrict(String Filter)
       ...
Run Code Online (Sandbox Code Playgroud)

当我更换[Categories]使用[?????????],即

string filter = String.Format(
    "([Start] >= '{0:g}') AND ([End] <= '{1:g}') AND ([?????????] = '{2}')",
    start, end, category);
Run Code Online (Sandbox Code Playgroud)

它适用于俄语版的Outlook.但显然它不适用于其他语言.

如何以多语言方式按类别筛选Outlook约会?

c# mapi outlook internationalization outlook-2010

5
推荐指数
2
解决办法
1780
查看次数

无法在Outlook中正确显示html电子邮件签名

我在html中创建了一个简单的电子邮件签名,他是代码:

<html>

<!-- Company logo goes here -->
<div id="far_left" 
    style="width: 50px; 
           height: 50px;
           float: left;
           margin-right: 10px;">
    <img src="logo.png" />
</div>

<!-- Name and occupation goes here -->
<div id="top" 
    style="height: 25px;">
    <span style="font-family: Arial, Verdana, 'Sans Serif'; font-size: 22; color: #464646;"><strong>Dean Grobler</strong>, Programmer</span>
</div>

<!-- Website link and email adress goes here -->
<div id="bottom" 
    style="font-family: Arial, Verdana, 'Sans Serif';
           font-size: 14px;
           color: #464646;
           padding: 5px;
           height: 25px;">
    <a href="http://www.deangrobler.com" style="text-decoration: none; color: #84d5f6">www.deangrobler.com</a> | 
    <a href="mailto:dean@deangrobler.com" style="text-decoration: …
Run Code Online (Sandbox Code Playgroud)

html css email-client signatures outlook-2010

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

如何将多个联系人vCard VCF文件导入Outlook?

我在我的Android设备上创建了多个联系人vCard VCF文件,我想将其导入到Outlook 2010.似乎Outlook不支持多个联系人VCF文件,只导入这个文件中的第一个联系人.有没有办法将我的1000个联系人从这样的VCF文件导入Outlook 2010?

import outlook vcf-vcard vcf outlook-2010

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

如何检索邮件项目 (Outlook.MailItem) 的 Outlook 文件夹?

我正在通过以下方式获取我的默认收件箱文件夹 inboxFolder = Globals.ThisAddIn.Application.Session.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox

在我的代码的其他地方,我开始执行 foreach 循环以从这些 MailItems 中提取我想要的特定信息

foreach (var item in this.inboxFolder.Items)
{
   Outlook.MailItem mailItem = (Outlook.MailItem)item;
   //.... doing stuff here
   string SenderEmail = mailItem.SenderEmailAddress;
   string SenderName = mailItem.SenderName;
   string FolderLocation = mailItem.???;  //how to retrieve folder location?
   //.... more stuff here
}
Run Code Online (Sandbox Code Playgroud)

例如: 用户可能创建了一个名为“Test”的子文件夹,如下所示。

Outlook-2010 中用户创建的子文件夹的图像

c# outlook vsto outlook-2010

4
推荐指数
2
解决办法
7504
查看次数

Microsoft.Office.Interop.Outlook 2010在VS 2012中使用.Net 2.0参考

ReferenceMicrosoft.Office.Interop.Outlook在我的web项目中添加一个Namespace,我正在使用.Net 2.0和visual studio 2012

我应该选择使用以下哪一个 Outlook 2010

我试图谷歌这个,我找不到任何东西

在此输入图像描述

.net c# vb.net outlook outlook-2010

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