3

私は古いメール クライアントから Outlook 2010 に人々を変換する作業を行っています。連絡先を効率的に変換しようとするのは面倒な場合があるため、面倒な作業を行うコードがいくつかあります。私が使用しているプロセスは、ある程度機能します。連絡先からすべての VCard を取得し、これらすべての VCard をインポートするマクロのソース コードをオンラインで見つけました。問題は、デフォルトで「連絡先」アドレス帳になっていることです。コードは次のとおりです。

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 やマクロの作成にあまり慣れていません。保存先のアドレス帳を指定する方法はありますか? たとえば、「Test」という名前のアドレス帳があるとします。助けてくれてありがとう。

4

1 に答える 1

0

使用できるようですSession.AddressBookここにあります

次の種類のコードを使用してAddressBookにアクセスできます。

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

私のバージョン(2007)では、見つけたプロパティはでしたが、見つかりSession.AddressListsませんでしたAddressbook。試してみて、どれが機能するかを確認してください。

于 2011-08-08T11:23:57.167 に答える