電話番号を抜き出す

電話番号が10〜13桁になることから判別する部分をいれました。
PHSが11桁で−をいれると13桁)
ただし、
東京都墨田区12-3456-7890
なんていう長い丁番地があると判別不能。ほとんど無いと思うけど。

Option Explicit

Sub Macro()
    ' データファイルのパスを指定
    Const FILENAME = "C:\Documents and Settings\hogehoge\デスクトップ\hatena\test.txt"
    Dim FSO
    Dim TS
    Dim str As String
    Dim i As Long
    Dim f As Boolean
    Dim Meisyou As String
    Dim RE
    Dim reMatch
    
    Set RE = CreateObject("VBScript.RegExp")
    RE.Pattern = "\d{1,4}?-\d{1,4}?-\d{1,4}"
    
    Set FSO = CreateObject("Scripting.FileSystemObject")
    Set TS = FSO.OpenTextFile(FILENAME, 1)
    i = 1
    Do Until TS.AtEndOfStream
        str = TS.ReadLine
        If f Then
            If IsNumeric(str) Then
                Cells(i, 1).Value = Meisyou
                
                Meisyou = ""
                i = i + 1
            Else
                If str <> "" Then
                    If Meisyou = "" Then
                        Meisyou = Trim(str)
                    Else
                        Set reMatch = RE.Execute(str)
                        If reMatch.Count > 0 Then
                            If Len(reMatch(0)) >= 10 And Len(reMatch(0)) <= 13 Then
                                Cells(i, 1).Value = Meisyou
                                Cells(i, 2).Value = reMatch(0)
                                
                                Meisyou = ""
                                f = False
                                i = i + 1
                            End If
                        End If
                    End If
                End If
            End If
        Else
            If IsNumeric(str) Then
                f = True
            End If
        End If
    Loop
    
    TS.Close
    Set TS = Nothing
    Set FSO = Nothing
    Set RE = Nothing
    MsgBox "終了"
End Sub