【问题标题】:Create a contact in a non-default Outlook contact folder在非默认 Outlook 联系人文件夹中创建联系人
【发布时间】:2015-06-02 07:56:42
【问题描述】:

我想使用 Excel VBA 2010 在非默认 Outlook 联系人文件夹中创建联系人。

在本例中,文件夹名称为“azerty”,位于
\mypersonnal_pst\联系人

我试过了:

Dim myolApp As Outlook.Application
Dim myNamespace As Outlook.Namespace
Set myolApp = CreateObject("Outlook.Application")
Set myNamespace = myolApp.GetNamespace("MAPI")
Set Folder = myNamespace.GetDefaultFolder(olFolderContacts).Parent.Folders("azerty")
Set objContact = myolApp.CreateItem(olContactItem)
With objContact
  .Email1Address = "example@ex.com "
  .FirstName = "Joe"
  .LastName = "Mc"
  .HomeTelephoneNumber = "99 99 99 99 99"
  .HomeAddressCity = "Xlcity"
  .Save
End With

【问题讨论】:

    标签: excel vba outlook-2010


    【解决方案1】:

    如果您需要在特定文件夹中创建 Outlook 项目,请改用 Items 类的 Add 方法。

    Dim myolApp As Outlook.Application
    Dim myNamespace As Outlook.Namespace
    Set myolApp = CreateObject("Outlook.Application")
    Set myNamespace = myolApp.GetNamespace("MAPI")
    Set Folder = myNamespace.GetDefaultFolder(olFolderContacts).Parent.Folders("azerty")
    Set objContact = Folder.Items.Add(olContactItem)
    With objContact
      .Email1Address = "example@ex.com "
      .FirstName = "Joe"
      .LastName = "Mc"
      .HomeTelephoneNumber = "99 99 99 99 99"
      .HomeAddressCity = "Xlcity"
      .Save
    End With
    

    或者创建后使用Move方法将项目移动到目标文件夹。

    Dim myolApp As Outlook.Application
    Dim myNamespace As Outlook.Namespace
    Set myolApp = CreateObject("Outlook.Application")
    Set myNamespace = myolApp.GetNamespace("MAPI")
    Set Folder = myNamespace.GetDefaultFolder(olFolderContacts).Parent.Folders("azerty")
    Set objContact = myolApp.CreateItem(olContactItem)
    With objContact
      .Email1Address = "example@ex.com "
      .FirstName = "Joe"
      .LastName = "Mc"
      .HomeTelephoneNumber = "99 99 99 99 99"
      .HomeAddressCity = "Xlcity"
      .Save
      .Move Folder 
    End With
    

    您可以在How To: Create a new Outlook Contact item programmatically 文章中阅读更多相关信息。

    【讨论】:

    • 感谢@Eugene;但要正常运行,声明后:Dim Folder As Outlook.Folder 要使用它,而不是:Set objContact = Folder.Add(olContactItem) 它必须是:Set objContact = Folder.items.Add(olContactItem)
    • 已更正。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多