vba - Outlook 2010 中的 Visual Basic 宏,保存到特定文件夹?

标签 vba outlook vcf-vcard

我正在努力将人们从较旧的电子邮件客户端转换为 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”的地址簿。感谢您的帮助。

最佳答案

似乎您可以使用 Session.AddressBook(找到 here)

您可以使用这种代码访问地址簿:

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

在我的版本 (2007) 中,我找到的属性是 Session.AddressLists 而我找不到 Addressbook 属性。试试看哪个有效。

关于vba - Outlook 2010 中的 Visual Basic 宏,保存到特定文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6974409/

相关文章:

excel - 我的代码如何确定它是作为 VBScript、.HTA 还是 VBA 运行的?

vba - 对工作簿中的所有工作表进行排序

html - float :right on outlook responsive code

html - Outlook 友好的 HTML 代码与传统网页的代码是否不同?

vuetify.js - 垂直对齐 vuetify v-card 组件中的元素

excel - 如何改进宏记录器的代码?

file - 使用 VBA (excel) 将特殊的 ascii 字符插入到文件中

css - 时事通讯 HTML : fonts and vertical align

delphi - 如何使用Delphi读取VCF(联系人)文件?

linux - 在 Linux 上将 vcf 生日转换为 caldav