2008-03-22
如何批量导入vCard格式联系人到Outlook
网上有从Outlook批量导出Vcard格式的教程说明,但是关于如何将Vcard格式的联系人批量导入到Outlook的教程几乎没有。我在网上找到了以下这些操作步骤,成功了,在这里分享。
1,把所有Vcards文件放在一个文件夹内。C:\VCARDS(这个路径需要和代码中的路径相同)
2,打开Outlook的VBA编辑器。(ALT + F11 呼出)
3,单击“工具”–>“引用”,勾中“Windows Script Host Object Model ”和“Microsoft Scripting Runtime”
4,单击“插入”–>“模块”,把下列代码粘帖进去。保存名字例如“A”。
5,单击“工具”–>“运行”–>“宏”,运行刚才保存的名字“A”。
6,运行….
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 IntegerSet 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 IfNext
End Sub
相关日志
标签: 电脑技术
转载注明:转自空错志
本站遵循:署名-非商业性使用-禁止演绎 3.0 共享协议
收藏分享:
QQ书签 /
百度收藏 /
Google书签 /
推荐按到鲜果 /
推荐到豆瓣 /
Facebook /
Delicious

怎么不行了,是下边这整段复制到宏里啊
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 Chr(34) & strVCName & Chr(34)
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
@peggy:是啊,需要整段复制过去执行。
我也是一整段復制過去的, 但提示沒有定義
因为代码还需要引用“Microsoft Scripting Runtime”,请在VBA的“工具”–>“引用”中勾选“Microsoft Scripting Runtime”即可。
可是工具-引用中没有microsoft scripting runtime
有“Windows Script Host Object Model ”的,你仔细找找看。
谢谢 ,我已经用这个方法成功的导入了,可是 姓氏显示乱码.
其他人是不是也碰到这个问题?
把VCARD文件转换为ASCII
谢谢,我测试是成功的,但是 (”C:\VCARDS”),这里的双引号用错了中文的,希望大家注意,主人应该是在中文输入法状态下写的代码。
谢谢罗,用英文输入方式。
问题是,即使我用了英文,但显示在博客上时,不知为何就变成了中文。
第三行出错,Dim objOL As Outlook.Application
提示用户定义类型未定义。
我用的是office2007
@cd:真是抱歉,我所用的是office2000,没有问题。在2007上未试过,你再找找有没有其他方法。