Se você precisa criar um agendamento ou uma requisição de reunião no Outlook usando X++, apenas copie o código abaixo e certifique-se que exista um cliente Outlook instalado na maquina que o código irá rodar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
static void OutlookAppointment(Args _args)
{
  #SysOutLookCOMDEF
  #define.mapi("MAPI")
  #define.outlook("Outlook.Application")
  COM             sysOutlookCollection;
  COM             collection;
  COMVariant      comStartDate = new COMVariant();
  COMVariant      comEndDate   = new COMVariant();
  COM             c;
  COM             sysOutlook;
  COM             sysOutlookNameSpace;
  COM             sysOutlookMAPIFolder;
  ;
 
  sysOutlook                  = new COM(#outlook);
  sysOutlookNameSpace         = sysOutlook.getNamespace(#mapi);
  sysOutlookNameSpace.logon();
  sysOutlookMAPIFolder        = sysOutlookNameSpace.getDefaultFolder(#OlDefaultFolders_olFolderCalendar);
  collection                  = sysOutlookMAPIFolder.items();
  c = collection.add();
  comStartDate.date(today());
  comStartDate.time(str2Time( "12:00:00"));
  comEndDate.date(today());
  comEndDate.time(str2Time( "12:45:00"));
  c.location('Solugenix 4th Floor Conference Room, India');
  c.subject('Meeting regd Microsoft Dynamics AX 2009');
  c.body('Lets discuss on whats new in DAX 2009');
  c.start(comStartDate);
  c.end(comEndDate);
  c.save();
 
  if (c)
  {
    c.display();
    info("The action is created in Microsoft Outlook");
  }
  else
    throw error("@SYS31969");
 
  sysOutlookNameSpace.logoff();
}

[]s
Pichler

Fonte: http://dax-lessons.spaces.live.com/blog/