手动在手机上一个一个存电话号略微费劲,故借助 Excel 管理通讯录,利用 VBA 实现将姓名、电话号码等信息导出为 vcf 文件(iOS 系统联系人导出的格式)
第一次从某钉上给别人打电话知道是给谁打,但接听别人的电话,来电显示号码的情况下不知道是谁打过来的,有保存为联系人的必要
如果有其他好的解决办法(iOS 系统),欢迎评论留言讨论
".xlsm" 文件链接在下面,有需要自取
https://jey.lanzouw.com/iozmx1367fng
Sub Save_to_iOS_vcf()
Dim ChooseFolder As String
'定义并新建一个对话框对象
Dim dlgOpen As FileDialog
Set dlgOpen = Application.FileDialog(msoFileDialogFolderPicker)
'如果当前没有对话框显示,就让它弹出对话框
If dlgOpen.Show = -1 Then ChooseFolder = dlgOpen.SelectedItems(1)
'MsgBox (ChooseFolder) '弹出选择的文件夹
Dim FileName, VcardText As String
FileName = Application.InputBox("请输入导出文件名:", "输入 vcf 文件名")
VcardText = ""
For i = 1 To [A65535].End(xlUp).Row()
VcardText = VcardText & Cells(i, 1).Text
Next
VcardText = VcardText & Chr(13) & Chr(10)
Open ChooseFolder & "\" & FileName & ".vcf" For Output As #1
Print #1, VcardText
Close #1
Dim WriteStream, BinStream As Object
Set WriteStream = CreateObject("ADODB.Stream")
Set BinStream = CreateObject("ADODB.Stream")
With WriteStream
.Open
.Charset = "UTF-8"
.Type = 2
.WriteText VcardText
.SaveToFile ChooseFolder & "\" & FileName & ".vcf", 2
.Position = 3
End With
With BinStream
.Open
.Type = 1
End With
WriteStream.CopyTo BinStream '数据复制
With BinStream
.SaveToFile ChooseFolder & "\" & FileName & ".vcf", 2 '保存文件
.Close
End With
WriteStream.Close
Set WriteStream = Nothing
Set BinStream = Nothing
Application.ScreenUpdating = True
If MsgBox("导出成功,是否打开文件路径?", vbYesNo + vbQuestion, "打开文件资源管理器") = vbYes Then
Shell "explorer.exe /select," & ChooseFolder & "\" & FileName & ".vcf", vbNormalFocus
Else
'do nothing
End If
End Sub