2013-07-10 34 views
0

我在这里提供有关脚本编写Outlook的问题。好了,让我先开始我想完成什么从Outlook中获取信息的VBScript(没有任何AD!)

  • 我想编写一个脚本,它与Outlook如下:
    1. 获取所有名称(用户)写在文件>信息>帐户设置>代理访问,包括权限...
    2. 得到所有数据文件下书面文件>信息>帐户设置>帐户设置>数据文件
    3. 获取当前使用的签名下首页>新建电子邮件>签名,并有下新消息的选择:回复/转发:
    4. 最后,让所有其他邮箱下文件>资讯>帐户设置>数据文件>设置...>高级>邮箱

什么是我的技术水平? 我有点不小心得到了这个任务,所以关于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签名...)。

非常感谢你提前:)

回答

2
  1. 这些信息只能通过Exchange Web服务(EWS)API访问。
  2. 使用Namespace.Stores收集
  3. 您只能通过文件系统
  4. 同2访问这些信息,但你需要检查Store.ExchangeStoreType属性为olAdditionalExchangeMailbox(= 4)。
+0

好的,我刚刚检查了您的个人资料。 15年的经验:)谢谢你,先生...我现在得到了2-3分,我将尝试点1.我希望提出一个没有任何... API的解决方案。再次感谢 – nivoe

+0

好吧,如果没有任何API,它似乎不工作。 – nivoe

相关问题