自动化前景

时间:2011-06-01 21:19:38

标签: .net vba outlook

我的膝盖上抛出了一项任务,要求我:

  1. 遍历outlook 2010中的许多(1000个)消息文件夹
  2. 对于特定子文件夹中的每个文件夹,右键单击菜单,选择export as pdf(这是一个插件“DocumentExporter”),然后单击ok按钮
  3. 我很少使用outlook,所以我从来没有将它自动化到这个程度。我看到你可以用vba做,也可能用.net(我已经安装了.net可编程扩展)

    有关最快捷方式的任何建议吗?

    谢谢!

2 个答案:

答案 0 :(得分:2)

我这里没有Outlook,所以以下是air-code。

Sub DoIt()
  Recurse ActiveExplorer.CurrentFolder ' select relevant folder in Outlook first
End Sub

Sub Recurse(f as MAPIFolder)
  Dim sf As MAPIFolder

  PrintPdf

  For Each sf In f.Folders
    ' open a potential sub-tree of folders, and move down one folder in the UI
    SendKeys "{RIGHT}{PAUSE 100}{DOWN}"
    Recurse sf
  Next f
End Sub

Sub PrintPdf()
  ' open the context menu, go down 4 entries, press enter, wait 10 seconds
  SendKeys "{APP}{PAUSE 100}{DOWN 4}{ENTER}{PAUSE 10000}"
End Sub

我不知道这是否有效,这只是一个想法。运行此操作时确保Outlook处于前台(通过将DoIt()例程分配给自定义工具栏按钮)。必须在开始之前选择起始文件夹。

答案 1 :(得分:0)

VBA或.NET都是办公自动化的不错选择,但.NET更具未来性。

如果您计划现在或将来自动化64位Office,您必须使用.NET!