在Outlook中通过代码发送/接收

如果我在Excel VBA中使用创build一个Outlook 2010对象

Sub CreateOL() On Error Resume Next Set myOlApp = GetObject(, "Outlook.Application") If Err.Number = 429 Then Set myOlApp = CreateObject("Outlook.Application") End If On Error GoTo 0 End Sub 

是否有可能强制myOLAPP发送/接收。 请有人build议如何做?

我试过以下,但它不适合我。

  Set nsp = myOlApp.GetNamespace("MAPI") Set sycs = nsp.SyncObjects For i = 1 To sycs.Count Set syc = sycs.Item(i) syc.Start Next 

另外,如何使myOlApp可见? myOlApp.Visible = TruemyOlApp.Application.Visible = True不起作用

谢谢

你使用哪个Outlook版本? 我用Outlook 2010testing了这一点,它的工作原理。

:我没有做任何error handling。 我相信你可以照顾的。

 Public Sub Sample() Dim oLook As Object Dim nsp As Object, objSyncs As Object, objSync As Object Dim i As Long Set oLook = GetObject(, "Outlook.Application") Set nsp = oLook.GetNamespace("MAPI") Set objSyncs = nsp.SyncObjects For i = 1 To objSyncs.Count Set objSync = objSyncs.Item(i) objSync.Start Next End Sub 

MS Outlook有两种types的窗口

  1. 资源pipe理器和文件夹
  2. 督察个别项目。

如果要显示特定文件夹,可以启动资源pipe理器,然后使用.Activate.Display. 另一种方法是使用MAPIFolder.Display方法。