Ich würde immer noch vorschlagen, Outlook für das Senden der E-Mails verwenden, so dass Sie alle aktuellen Funktionalitäten haben, und MS aktualisiert Office 365 ständig und es wäre nicht das erste Mal, wenn eine MS-Schnittstelle von Microsoft geschraubt wurde aktualisieren.
In jedem Fall haben Sie recht, es gibt eine aktive X-Schnittstelle, die verwendet werden kann, bevor Sie es verwenden, müssen Sie Matlab mit Administratorrechten ausführen (wenn Sie Windows sind) und stellen Sie sicher, dass Sie ein Matlab haben Version> 2010 rb (die Version, die ich gerade teste).
Wenn Sie h = actxserver ('outlook.Application') verwenden, erstellt all dies einen OLE-Server mit der angegebenen Anwendungs-ID, so dass get() Ihnen nichts anderes als Versionsnummer und Server-ID usw. abholt. Doch es sollte Ihnen ermöglichen, auf Funktionen zu diesem Server gehören, zu nennen (dh die Funktionalität von Outlook.Application, so in der Regel eine E-Mail zu senden an:
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;
Notieren Sie sich den obigen Code aus gemacht, ich habe schreibe sie nicht und würde es wahrscheinlich nie versuchen ... aber es wurde getestet, um an meiner lokalen Station zu arbeiten.
Answ Wenn Sie Ihre zweite Frage haben, welche Funktionen Sie aufrufen können, hängt davon ab, welche Funktionen in Outlook.Application verfügbar sind. Diese Funktion steht unter microsoft application dev zur Verfügung. Dies sind alle Funktionen, die Sie vom Objekt aus aufrufen können.
Außerdem werden alle Parameter als STRINGS an das Objekt über das OLE übergeben, daher gibt es hier keine Matlab-Funktionalität und Sie können keine der Matlab-Funktionen in Aufrufen mit dem Objekt verwenden, wenn Sie etwas cleveres tun möchten - Sie müssen die VB-Sprache als Zeichenfolgen an das Objekt übergeben.
h = actxserver('outlook.Application');
newContact = h.CreateItem('olContactItem');
newContact.FirstName = 'John';
newContact.LastName = 'Smith';
newContact.Email1Address = '[email protected]';
newContact.Save();
% newContact.Display; % To check your work
h.release; % Close the ActiveX interface
die ContactItem
properties page für eine Liste von anderen Feldern finden Sie ändern können:
dies eine der seltsamsten Fragen zu sein, hat bekam ich je gesehen habe. Wenn Sie eine .xls-Datei mit E-Mails haben, warum verwenden Sie nicht einfach Outlook, was bietet Matlab oder andere nicht? – GameOfThrows
Richtig, gute Frage. Die .xls-Datei stammt direkt aus dem Personalwesen und benötigt viel Verarbeitung, bevor sie verwendet werden kann.Speziell stelle ich diese Frage, weil ich lernen möchte, wie man das über Matlab macht. –