[[20221201183702]] 『CSV内の対象データを削除するバッチ』(サクマ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『CSV内の対象データを削除するバッチ』(サクマ)

以下の処理で良い方法があればご教授頂ければ幸いです。

サンプル.csv
<中身>
"会社C","会社名","氏名","氏名C","階数","区分","年月",
"2","サンプル会社","佐久間A太朗","11111","3F","出荷","2022/11",
"2","サンプル会社","佐久間B太朗","22222","4F","出荷","2022/11",
"2","サンプル会社","鈴木A太朗","12111","3F","出荷","2022/10",
"2","サンプル会社","佐藤A太朗","13111","3F","出荷","2022/12",

条件:
氏名列の”佐久間”を含む情報だけをCSVとして抽出

結果
"会社C","会社名","氏名","氏名C","階数","区分","年月",
"2","サンプル会社","佐久間A太朗","11111","3F","出荷","2022/11",
"2","サンプル会社","佐久間B太朗","22222","4F","出荷","2022/11",

このようなバッチを作成することは可能でしょうか。
何卒よろしくお願いいたします。

< 使用 Excel:Office365、使用 OS:Windows10 >


 超テキトーですが... ^^;

    Sub Test()
        Const FN_FROM  As String = "C:\xxx\サンプル.csv"
        Const FN_TO    As String = "C:\xxx\サンプル(1).csv"
        Dim fileIn As Object, fileOut As Object
        Dim aLine As String
        With CreateObject("Scripting.FileSystemObject")
            Set fileIn = .OpenTextFile(FN_FROM)
            Set fileOut = .CreateTextFile(FN_TO)
            Do
                If fileIn.AtEndOfStream Then Exit Do
                aLine = fileIn.ReadLine
                If fileIn.Line = 2 Then fileOut.WriteLine aLine
                If Split(aLine, ",")(2) Like "*佐久間*" Then fileOut.WriteLine aLine
            Loop
            fileIn.Close
            fileOut.Close
        End With
    End Sub

(白茶) 2022/12/01(木) 19:24:26


超テキトーですか・・・凄いですね。

早速ご回答頂き誠にありがとうございました。
条件通りの結果が得られました。
これをもとに勉強してみようと思います。
(サクマ) 2022/12/02(金) 08:20:57


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.