1つのVCFファイルを複数のファイルに分割する(VBScript)

ガラケイ他からエクスポートしたVCFファイルは、1つのファイルの複数の連絡先が混在する
OUTLOOKにインポートしようとしても、1件目しか登録されない

そこで、1つのVCFファイルを複数のファイルに分割するスクリプトを作成したのでメモしておく

Dim arg
Dim objFSO
Dim objFile
Dim newFile
Dim fileNum
Dim path
Dim str 
Dim strout
Dim name


arg         = WScript.Arguments(0)
Set objFSO  = WScript.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(arg)
 
fileNum   = 0
path = objFSO.getParentFolderName(WScript.ScriptFullName) & "\"
 
Do While objFile.AtEndOfStream <> True

  str = objFile.ReadLine
  strout = strout + str + vbCrLf
     
  if str = "END:VCARD" then 
    fileNum = fileNum + 1
    Set newFile = objFSO.CreateTextFile(path & right("000" & fileNum,3) & "_" & name  &".vcf", true)
    newFile.WriteLine(strout)
    newFile.Close
    strout = ""
  end if

  if InStr(str,"FN")>0 then
    if InStr(str,":")>0 then
      name = mid(str,InStr(str,":")+1)
    end if
  end if
  
Loop
 
newFile.Close
objFile.Close
 
Set objFile = Nothing
Set objFSO  = Nothing
Set newFile = Nothing

◆使い方
・上記のソースを「vcf分割.vbs」等の名前で保存する
・エクスローラーで分割したいVCFファイルを「vcf分割.vbs」にドラッグする
・通番+ネームの形式のファイル名で新たなファイルが作成される

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です