Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


39468 / 76732 ←次へ | 前へ→

【42374】Re:テキストファイルの中の余計なカンマを消す方法
発言  ichinose  - 06/9/8(金) 19:45 -

引用なし
パスワード
   ▼どらちゃん さん:
こんばんは。

>EXCEL形式の「○○.csv」というファイルをNOTEPADから開いたとき、データはカンマ区切りになりますが、このうち余分なカンマを削除したいのです。
>具体的には、3行のデータがあり、2行目はそのままで一行目と3行目の右側にある余分なカンマを消したい。
これは、正規表現を使わなくても出来ますけど、たまにここで使わないと
忘れそうになるので・・・

標準モジュールに
'================================================================
Sub main()
  Dim flnm As Variant
  Dim fldmy As String
  Dim i_flno As Long
  Dim o_flno As Long
  flnm = Application.GetOpenFilename("CSVファイル,*.csv")
  If TypeName(flnm) <> "Boolean" Then
    On Error GoTo open_error
    i_flno = FreeFile()
    Open flnm For Input As #i_flno
    o_flno = FreeFile()
    fldmy = Replace(flnm, ".csv", ".tmp", , , vbTextCompare)
    Open fldmy For Output As #o_flno
    With CreateObject("VBScript.RegExp")
     .Pattern = ",+$"
     .IgnoreCase = True
     .Global = True
     Do Until EOF(i_flno)
       Line Input #i_flno, txt
       Print #o_flno, .Replace(txt, "")
       Loop
     End With
    Close #i_flno
    Close #o_flno
    Kill flnm
    Name fldmy As flnm
    On Error GoTo 0
    End If
  Exit Sub
open_error:
  MsgBox Err.Number & " : " & Err.Description
End Sub


でmainを実行してみてください。

ファイル選択ダイアログから対象のcsvファイルを選択してください。
OKボタンをクリックすると直ちに処理が開始されます。

処理が終了したら、対象csvファイルの中身を確認してみてください。

1 hits

【42372】テキストファイルの中の余計なカンマを消す方法 どらちゃん 06/9/8(金) 14:09 質問
【42374】Re:テキストファイルの中の余計なカンマを... ichinose 06/9/8(金) 19:45 発言
【42381】Re:テキストファイルの中の余計なカンマを... [名前なし] 06/9/8(金) 23:07 回答
【42424】Re:テキストファイルの中の余計なカンマを... どらちゃん 06/9/11(月) 14:26 お礼

39468 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free