如何使用VBA在MS Outlook中获取规则的文本值?

刚果民主共和国

我正在尝试获取我在MS Outlook中设置的规则的条件的文本值。

我创建了一个名为“ TestRule”的规则,其条件基于消息正文中的文本(必须在其中包含文本“ zzz”),并且还基于消息标题中的文本(其必须具有文本“ aaa”) “ 在里面)。(当然,此规则可能永远不会运行,这只是为了测试我是否可以读取该规则中的条件。)已启用该规则和条件。

这是我正在使用的代码

Dim olRules As Outlook.Rules
Dim olRule As Outlook.Rule

Set olRules = Application.Session.DefaultStore.GetRules
Set olRule = olRules.Item("TestRule")

Debug.Print olRule.Conditions.Body.Text
Debug.Print olRule.Conditions.MessageHeader.Text

但是,两条debug.print行均给出“类型不匹配”错误。

如何读取条件的当前值?

(我已经检查,并仔细检查:有,一个名为“TestRule”规则)

麦索伦

GD DRC,

我已经为解决您的问题付出了更多的努力,并且我想出了为什么您会遇到类型不匹配的问题。

您可能已在“ body”条件以及“ messageheader”条件中添加了一些关键字?这些单独的条目将添加到数组“ olRule.Conditions.Body.Text”中。

您下面的代码行;

olRule.Conditions.Body.Text
Debug.Print olRule.Conditions.MessageHeader.Text

本质上是在要求'debug.print'方法来打印一个数组,但是它不知道该怎么做。由于它不了解要打印数组的哪一部分。根据您输入的条目数量,每个条目的标识符必定需要一个标识符来指向唯一的数组条目。

所以:

  • olRule.Conditions.Body.Text(0)将指向数组中的第一个条目。
  • olRule.Conditions.Body.Text(1)将指向数组中的第二个条目。

有两种方法可以解决您的编码问题:

  1. 在行上设置一个断点:

    olRule.Conditions.Body.Text

这样执行就在执行代码行之前停止。打开“本地窗口”(通过“视图” |“本地窗口”),然后打开olRule.Text,您将看到添加的数组条目。

  1. 修改您的代码,如下所示

主子程序

Sub TestRule()
Dim olRules As Outlook.Rules
Dim olRule As Outlook.Rule

Set olRules = Application.Session.DefaultStore.GetRules
Set olRule = olRules.Item("TestRule")

Debug.Print TypeName(olRule)

printArray olRule.Conditions.Body.Text
printArray olRule.Conditions.MessageHeader.Text

End Sub

printArray子例程

Private Sub printArray(ByRef pArr As Variant)
    Dim readString As Variant

    If (IsArray(pArr)) Then             'check if the passed variable is an array

        For Each readString In pArr

            If TypeName(readString) = "String" Then 'check if the readString is a String variable
                Debug.Print readString
            End If

        Next

    End If

End Sub

您还可以将第二个子例程集成到第一个子例程中,但是更好的编码实践是在Function或单独的子例程中执行重复性的任务(然后您也可以将其用于同一模块中的其他方法:-)

相信这会为您提供解决方案!

祝你好运 !

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用VBA在MS Access中添加新记录?

来自分类Dev

使用MS Word VBA如何使用突出显示颜色的值查找和替换突出显示的文本

来自分类Dev

如何使用MS Access中触发的VBA更改MS Word文档中形状的颜色?

来自分类Dev

如何使用VBA更改MS Outlook 2013中的电子邮件类别?

来自分类Dev

如何使用VBA代码从ms-project的另一列中的文本自动添加文本

来自分类Dev

如何使用VBA在MS Word中基于标签获取单独的字符串?

来自分类Dev

如何使用VBA从单词内容控制中获取下拉值(不显示文本)

来自分类Dev

如何使用MS Access VBA发送Outlook附带的PDF电子邮件?

来自分类Dev

如何在 MS Powerpoint 中使用带有 VBA 的文本框?

来自分类Dev

如何在MS Access中使用VBA将值插入数据库表

来自分类Dev

在MS Excel VBA上。如何在范围公式中使用当前(非活动)行的值?

来自分类Dev

如何从outerHTML的文本中获取属性的值?

来自分类Dev

如何从值中获取选项文本

来自分类Dev

如何从 NSArray 中获取此文本值?

来自分类Dev

在 Outlook 规则的 VBA 代码中,如何使用/引用导致触发的电子邮件

来自分类Dev

如何使用VBA for MS Access在预先存在的表中创建字段?

来自分类Dev

如何使用带有参数的SQL作为MS Access / VBA中的组合框行源

来自分类Dev

如何在MS Access中使用VBA在列表框中添加新项目

来自分类Dev

如何使用VBA在Excel中更改MS查询数据源?

来自分类Dev

如何在MS Office中添加VBA?

来自分类Dev

如何在MS Project中获取VBA以识别Excel?

来自分类Dev

如何使用纯Javascript从Div中的Span获取文本值

来自分类Dev

如何使用javascript在gridview中获取文本框值

来自分类Dev

使用MS Access 2003使用Outlook-VBA

来自分类Dev

如何在Outlook 2013中添加规则

来自分类Dev

如何使用VBA从img获取alt值

来自分类Dev

如何从HTML中的代码选择中获取选定的值/文本

来自分类Dev

如何使用 VBA 在 MS Project 中返回一天中的最後一個可用時間

来自分类Dev

使用vba从ms访问表单文本框中的多个excel文件中检索特定单元格值

Related 相关文章

  1. 1

    如何使用VBA在MS Access中添加新记录?

  2. 2

    使用MS Word VBA如何使用突出显示颜色的值查找和替换突出显示的文本

  3. 3

    如何使用MS Access中触发的VBA更改MS Word文档中形状的颜色?

  4. 4

    如何使用VBA更改MS Outlook 2013中的电子邮件类别?

  5. 5

    如何使用VBA代码从ms-project的另一列中的文本自动添加文本

  6. 6

    如何使用VBA在MS Word中基于标签获取单独的字符串?

  7. 7

    如何使用VBA从单词内容控制中获取下拉值(不显示文本)

  8. 8

    如何使用MS Access VBA发送Outlook附带的PDF电子邮件?

  9. 9

    如何在 MS Powerpoint 中使用带有 VBA 的文本框?

  10. 10

    如何在MS Access中使用VBA将值插入数据库表

  11. 11

    在MS Excel VBA上。如何在范围公式中使用当前(非活动)行的值?

  12. 12

    如何从outerHTML的文本中获取属性的值?

  13. 13

    如何从值中获取选项文本

  14. 14

    如何从 NSArray 中获取此文本值?

  15. 15

    在 Outlook 规则的 VBA 代码中,如何使用/引用导致触发的电子邮件

  16. 16

    如何使用VBA for MS Access在预先存在的表中创建字段?

  17. 17

    如何使用带有参数的SQL作为MS Access / VBA中的组合框行源

  18. 18

    如何在MS Access中使用VBA在列表框中添加新项目

  19. 19

    如何使用VBA在Excel中更改MS查询数据源?

  20. 20

    如何在MS Office中添加VBA?

  21. 21

    如何在MS Project中获取VBA以识别Excel?

  22. 22

    如何使用纯Javascript从Div中的Span获取文本值

  23. 23

    如何使用javascript在gridview中获取文本框值

  24. 24

    使用MS Access 2003使用Outlook-VBA

  25. 25

    如何在Outlook 2013中添加规则

  26. 26

    如何使用VBA从img获取alt值

  27. 27

    如何从HTML中的代码选择中获取选定的值/文本

  28. 28

    如何使用 VBA 在 MS Project 中返回一天中的最後一個可用時間

  29. 29

    使用vba从ms访问表单文本框中的多个excel文件中检索特定单元格值

热门标签

归档