使用matlab向outlook添加联系人

时间:2016-07-11 12:23:03

标签: matlab outlook contacts

我有一个包含大量电子邮件的.xls文件,我想通过matlab添加到outlook。处理.xls文件没问题。

我发现可以通过matlab发送邮件     h = actxserver('outlook.Application'我认为我可以将此用于我的目的。然而,我完全不熟悉ActiveX / COM接口,以及如何使用它。

我尝试使用get(h),但这并没有给我任何有用的信息。

两个问题。具体来说1)我如何使用Matlab添加联系人。

其次,更一般的是,我怎样才能找到我能做些什么?' h'在这种情况下?我看到有人使用h.Subjecth.To我怎样才能找到可以用h做的可能的东西(如主题或者)?

2 个答案:

答案 0 :(得分:1)

我仍然建议使用outlook发送电子邮件,以便您拥有所有最新的功能,并且MS不断更新Office 365,这不是第一次MS接口被Microsoft更新搞砸了。

在任何情况下,你是对的,有一个可以使用的活动X界面,在你使用之前,你必须使用管理员权限运行matlab(如果你在Windows上)并确保你有一个Matlab版本> 2010 rb(我正在测试的版本)。

如果您使用的是h = actxserver(' outlook.Application'),那么这就是创建一个具有给定应用程序ID的OLE服务器,因此get()不会获取除版本号以外的任何内容服务器ID等。但是,它应该使您能够调用属于该服务器的功能(即outlook.Application的功能,所以一般来说,发送电子邮件:

mail = h.CreateItem('olMail');
mail.Subject = subject;
mail.To = to;
mail.BodyFormat = 'olFormatHTML';
mail.HTMLBody = body;
% Add attachments, if specified.
 if nargin == 4
    for i = 1:length(attachments)
        mail.attachments.Add(attachments{i});
    end
 end
 % Send message and release object.
mail.Send;
h.release;

请注意,上面的代码来自Mathworks,我没有写过它们,可能永远不会尝试......但它已经过测试可以在我的本地电台上运行。

要回答第二个问题,您可以调用哪些函数取决于outlook.Application中可用的函数,这可以从microsoft application dev获得,它们是您可以从对象调用的所有函数。

另请注意,所有参数都通过OLE作为STRINGS传递给Object,因此这里没有Matlab功能,如果你想做一些聪明的事情,你不能在使用Object的调用中使用任何Matlab功能 - 你需要将VB语言作为字符串传递给Object。

答案 1 :(得分:1)

要添加联系人,您需要通过ActiveX控件创建ContactItem object

h = actxserver('outlook.Application');

newContact = h.CreateItem('olContactItem');
newContact.FirstName = 'John';
newContact.LastName = 'Smith';
newContact.Email1Address = 'john.smith@email.email';
newContact.Save();

% newContact.Display;  % To check your work
h.release;  % Close the ActiveX interface

有关您可以修改的其他字段的列表,请参阅ContactItem properties page

对于一般性问题,只需要在Outlook's Object Model Reference

中进行一些探讨