2011-08-07 7 views
3

Я работаю с преобразованием людей из более старого почтового клиента в Outlook 2010. Попытка конвертировать контакты по эффективности может быть болью, поэтому у нас есть код, который делает работу ворчания для нас. Процесс, который я использую, работает до определенной степени. У меня есть все VCards из контактов и найден исходный код для макроса онлайн, который импортирует все эти VCards. Проблема заключается в том, что по умолчанию используется адресная книга «Контакты». Вот код:Visual Basic Macro в Outlook 2010, сохраняя в определенной папке?

Sub OpenSaveVCard() 

    Dim objWSHShell As IWshRuntimeLibrary.IWshShell 
    Dim objOL As Outlook.Application 
    Dim colInsp As Outlook.Inspectors 
    Dim strVCName As String 
    Dim fso As Scripting.FileSystemObject 
    Dim fsDir As Scripting.Folder 
    Dim fsFile As Scripting.File 
    Dim vCounter As Integer 

    Set fso = New Scripting.FileSystemObject 
    Set fsDir = fso.GetFolder("C:\VCARDS") 

    For Each fsFile In fsDir.Files 
     strVCName = "C:\VCARDS\" & fsFile.Name 
     Set objOL = CreateObject("Outlook.Application") 
     Set colInsp = objOL.Inspectors 
     If colInsp.Count = 0 Then 
       Set objWSHShell = CreateObject("WScript.Shell") 
       objWSHShell.Run strVCName 
       Set colInsp = objOL.Inspectors 

       If Err = 0 Then 
        Do Until colInsp.Count = 1 
        DoEvents 
        Loop 
        colInsp.Item(1).CurrentItem.Save 
        colInsp.Item(1).Close olDiscard 
        Set colInsp = Nothing 
        Set objOL = Nothing 
        Set objWSHShell = Nothing 
       End If 
     End If 
    Next 
End Sub 

Я не слишком знаком с Visual Basic и записью макросов, есть способ, где я могу указать, какие адресную книгу, чтобы сохранить? Например, если у меня есть адресная книга с именем «Тест». Спасибо за любую помощь.

ответ

0

Похоже, вы можете использовать Session.AddressBook (найдено here)

Вы можете получить доступ к адресной книге с таким кодом:

Set olkRecipients = cdoSession.AddressBook(, "Global Address List", 0, False) 

На моей версии (2007), свойство я нашел, было Session.AddressLists и я не смог найти Addressbook. Попробуйте и посмотрите, какой из них работает.

 Смежные вопросы

  • Нет связанных вопросов^_^