Public Function FncEscapeData(ByVal inpstr As String) As String
'----------------------------------------------------------------------------------
'
'   ダブルコーテーションで挟まれた文字列にカンマがある時、他の文字に置換する
'
'   受け取り
'   ・変換元データ
'
'----------------------------------------------------------------------------------
    Dim inpIdx As Integer                   '読み出しindex
    Dim singleStr As String                 '1文字分バッファ
    
    Dim outStr As String                    '出力バッファ
    
    Dim repCStr As String                   'カンマを置換する文字
    Dim doubleQuoteFlag As Boolean          'True=ダブルクォートの中、False=ダブルクォートの外
    
    
    'カンマを置換する文字を設定
    repCStr = " "
    
    'ダブルクォート中⇔外FLGを初期化
    doubleQuoteFlag = False
    
    '出力バッファクリア
    outStr = ""
    
    '/////1文字ずつ判定するLOOP
    
    For inpIdx = 1 To Len(inpstr)
    
        '1文字取り出し（バイトではなく文字単位)
        singleStr = Mid(inpstr, inpIdx, 1)
        
        If singleStr = """" Then
            'ダブルクォートの場合、中⇔外FLGを反転
            doubleQuoteFlag = Not doubleQuoteFlag
            'ダブルクォートをそのまま出力
            outStr = outStr & singleStr
        
        Else
            'ダブルクォートの中のカンマは空白に置き換える
            If singleStr = "," And doubleQuoteFlag Then
                outStr = outStr & repCStr
            Else
                'それ以外はそのまま移動
                outStr = outStr & singleStr
            End If
        End If
   
    
    Next inpIdx
    
    '///// LOOP 終了
    
    '戻り値
    FncEscapeData = outStr

End Function
