使用matlab将联系人添加到outlook
Using matlab to add contacts to outlook
我有一个包含大量电子邮件的 .xls 文件,我想通过 matlab 将其添加到 outlook。处理.xls文件没问题
我发现可以使用 matlab 发送邮件
h = actxserver('outlook.Application'
我想我也许可以将其用于我的目的。但是,我完全不熟悉 ActiveX/COM 界面以及如何使用它。
我尝试使用 get(h) 但没有给我任何有用的信息。
两个问题。具体 1) 我如何使用 Matlab 添加联系人。
其次,更笼统地说,在这种情况下,我如何才能知道我可以用 'h' 做什么?我看到人们使用 h.Subject
或 h.To
我怎样才能找到我可以用 h 做的可能的事情(比如主题或收件人)?
我仍然建议使用 outlook 发送电子邮件,以便您拥有所有最新功能,并且 MS 不断更新 office 365,这不是第一次 MS 界面被微软更新。
无论如何,你是对的,有一个可以使用的活动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 传递给对象,因此这里没有 Matlab 功能,如果您想做一些聪明的事情,您不能在调用对象时使用任何 Matlab 功能- 您需要将 VB 语言作为字符串传递给对象。
要添加联系人,您需要通过 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
中搜索一下
我有一个包含大量电子邮件的 .xls 文件,我想通过 matlab 将其添加到 outlook。处理.xls文件没问题
我发现可以使用 matlab 发送邮件
h = actxserver('outlook.Application'
我想我也许可以将其用于我的目的。但是,我完全不熟悉 ActiveX/COM 界面以及如何使用它。
我尝试使用 get(h) 但没有给我任何有用的信息。
两个问题。具体 1) 我如何使用 Matlab 添加联系人。
其次,更笼统地说,在这种情况下,我如何才能知道我可以用 'h' 做什么?我看到人们使用 h.Subject
或 h.To
我怎样才能找到我可以用 h 做的可能的事情(比如主题或收件人)?
我仍然建议使用 outlook 发送电子邮件,以便您拥有所有最新功能,并且 MS 不断更新 office 365,这不是第一次 MS 界面被微软更新。
无论如何,你是对的,有一个可以使用的活动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 传递给对象,因此这里没有 Matlab 功能,如果您想做一些聪明的事情,您不能在调用对象时使用任何 Matlab 功能- 您需要将 VB 语言作为字符串传递给对象。
要添加联系人,您需要通过 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
中搜索一下