VBScript从Outlook获取信息(没有任何AD!)

时间:2013-07-10 08:27:06

标签: vbscript outlook

我在这里提出有关脚本编写Outlook的问题。好吧,首先让我开始我想要完成的事情

  • 我想编写一个脚本,用Outlook执行以下操作:
    1. 获取在File>下编写的所有名称(用户)信息>帐户设置>委派访问权限,包括权限...
    2. 获取在File>下编写的所有数据文件信息>帐户设置>帐户设置>数据文件
    3. 在Home>下获取当前使用的签名新电子邮件>签名并在新邮件回复/转发
    4. 下进行选择
    5. 最后,获取文件>下的所有其他邮箱。信息>帐户设置>数据文件>设置...>高级>邮箱

我的技能水平是什么? 我有点意外地完成了这项任务,所以对于理解Windows / Office架构并不是很高。我的背景是R / Matlab,Maple和一些Mathematica以及最近的VBA。我刚刚开始使用VBScripting;)

到目前为止我有什么? 几乎没有,但我没有要求太多。我不需要问题的完整解决方案。有创意将有助于我围绕您的答案构建代码,希望如此!到目前为止,我已经成功恢复了给定的* .psts,如下所示:

Set oOutlook = CreateObject("Outlook.Application")
Set oMAPI = oOutlook.GetNameSpace("MAPI")
WScript.Sleep 3000

然后......

' Restore *.psts
For Each oFile In oFolder.Files

    If UCase(oFSO.GetExtensionName(oFile.Name)) = "PST" Then

        oMAPI.AddStore sPath & "\" & oFile.Name
        WScript.Sleep 500
    End If
Next

但是让我退一步。非常重要的是要知道我是这个新手:),但我可以构建所有代码。根据经验写作,我认为我会对每个问题的一行代码感到满意(如果可能的话),例如:

???.Delegates.Names.Item(integer)
oMAPI.GetStore ...
???.MailItem.Signature.NewMessage.ToString() ' or whatever
oMAPI.AdditionalMailbox.Item(integer)

上面的四个例子都是纯粹的猜测,但我真的找不到任何可用于互联网的东西。如果大多数方法都返回一个字符串会很酷,这样我就可以将它们记录到一个文本文件中。

无论您使用的是哪个Outlook版本,我都对任何答案感到高兴。我已经在互联网上搜索了两天,除了上面的简短代码外,没什么可说的。我需要一些更好的起点才能继续。而且,所有事情都发生在当地。我不搜索任何AD解决方案(比如创建花哨的自动AD签名......)。

非常感谢您提前:))

1 个答案:

答案 0 :(得分:2)

  1. 该信息仅通过Exchange Web服务(EWS)API进行访问。
  2. 使用Namespace.Stores集合
  3. 您只能通过文件系统
  4. 访问该信息
  5. 与2相同,但您需要将Store.ExchangeStoreType属性检查为olAdditionalExchangeMailbox(= 4)。