作者i923 ()
看板Office
标题[问题] 如何快速在Excel编辑、建立vCard联络人
时间Fri Mar 4 14:13:06 2022
(若是和其他不同软体互动之问题 请记得一并填写)
软体:Excel
版本:Microsoft 365
我现在有A栏:姓名;B栏:电子信箱,共500笔
现在用VBA输出以下的文字
BEGIN:VCARD
VERSION:4.0
FN:01-王小明
EMAIL;TYPE=INTERNET;TYPE=WORK:
[email protected]
END:VCARD
BEGIN:VCARD
VERSION:4.0
FN:01-陈小花
EMAIL;TYPE=INTERNET;TYPE=WORK:
[email protected]
END:VCARD
但执行到几十笔时跳出视窗显示,
----------------------
执行阶段错误'5':
程序呼叫或引述不正确
----------------------
以下是我VBA的写法:
Sub Contacts()
Dim filepath, fso
filepath = "C:\Users\admin\Desktop\Contacts.vcf"
Set fso = CreateObject("Scripting.FileSystemObject")
Set fileStream = fso.CreateTextFile(filepath)
intRow = 2
strName = ThisWorkbook.Sheets("工作表1").Range("A" & intRow).Text
While strName <> ""
strName = Trim(ThisWorkbook.Sheets("工作表1").Range("A" & intRow).Text)
strMail = Trim(ThisWorkbook.Sheets("工作表1").Range("B" & intRow).Text)
fileStream.WriteLine "BEGIN:VCARD"
fileStream.WriteLine "VERSION:4.0"
fileStream.WriteLine "FN:" & strName ----------侦错卡在这一行-------
fileStream.WriteLine "EMAIL;TYPE=INTERNET;TYPE=WORK:" & strMail
fileStream.WriteLine "END:VCARD"
intRow = intRow + 1
strName = ThisWorkbook.Sheets("工作表1").Range("A" & intRow).Text
Wend
fileStream.Close
If fso.FileExists(filepath) Then
MsgBox "完成"
End If
End Sub
请问我要如何修正呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.238.148.140 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1646374389.A.C0C.html
※ 编辑: i923 (36.238.148.140 台湾), 03/04/2022 23:53:21
1F:推 waiter337: 先侦错 上面加一行debug.print strName 03/05 00:02
2F:→ waiter337: 还有新增监看式strName 看看有没有出现乱码还是空值 03/05 00:02
3F:→ waiter337: 看看debug.print出来是什麽 03/05 00:03
※ 编辑: i923 (36.238.148.140 台湾), 03/05/2022 00:34:29
4F:→ i923: 找到问题了,名字里有异体字,改掉就完成了 03/05 00:35
5F:→ i923: 但有办法让电脑认得异体字吗?毕竟是名字 03/05 00:36
7F:→ waiter337: ss.iron 03/05 12:38
8F:→ waiter337: 最下面的那段方式可以 目前的方式不行 03/05 12:39