ツイッター出題回答
ツイッターのお題「CSV編集」

ExcelマクロVBAとエクセル関数についての私的雑感
公開日:2020-04-25 最終更新日:2020-04-25

ツイッターのお題「CSV編集」


ツイッターに出されたお題をやってみるシリーズです。
今回のお題は、CSV編集です。


ツイートへのリンク

VBSにしてみた

VBAでも良いのですが、たまにはVBSも良いかと思い作ってみました。

Option Explicit

Dim objFSO
Set objFSO = CreateObject("Scripting.FileSystemObject")

Dim var
For Each var in WScript.Arguments
  Call WriteCsv(objFSO.getFile(var).Path)
Next

Set objFSO = Nothing

Sub WriteCsv(argFile)
  'Set objFSO = CreateObject("Scripting.FileSystemObject")
  Dim inFile, outFile
  Dim rec, i, j, ary1, ary2, ary3

  Set inFile = objFSO.OpenTextFile(argFile, 1, False)
  Set outFile = objFSO.OpenTextFile(Replace(argFile, ".csv", "_new.csv"), 2, True)

  Do Until inFile.AtEndOfStream
    rec = inFile.ReadLine
    ary1 = Split(rec, ",")
    ary2 = Split(ary1(0), "/")
    ReDim ary3(UBound(ary1))
    For i = 0 To UBound(ary2)
      ary3(0) = ary2(i)
      For j = 1 To UBound(ary1)
        ary3(j) = ary1(j)
      Next
      outFile.WriteLine Join(ary3, ",")
    Next
  Loop

  inFile.Close
  outFile.Close
End Sub

せっかくVBSなので、複数ファイルドラッグにも対応しています。
○○.csv

○○_new.csv
として、編集後のcsvを出力しています。

特に解説はしませんが、VBSの場合、デバッグが大変ですね。
VBAである程度作成して、それを基にしてVBSに書き直す方が良いと思います。

ツイッターのお題に対する回答なので、とりあえずやってみたというものです。
したがって、コードの書き方で特段に工夫したところとかは特にありません。



同じテーマ「ツイッター出題回答 」の記事

ツイッターで出されたVBAのお題(悪魔のCSV)をやってみた
「VBAで導関数を求めよ」ツイッターのお題をやってみた
ツイッターのお題「君の名は?」
ツイッターのお題「CSV編集」
アルファベットの26進(ツイッターお題)
ナンバープレート数字遊び:ツイッターお題
サロゲートペアに対応した自作関数(Len,Left,Mid,Right)
迷路にネコが挑戦したら、どうなるかな…
迷路ネコが影分身の術を体得したら…
VBAで漢数字を算用数字に変換


新着記事NEW ・・・新着記事一覧を見る

生成AIが暴いた「VBAオワコン説」の盲点|問われるのは言語ではなく評価軸|エクセル雑感(2026-07-04)
【ITとは何か】Excel・VBAを学ぶ前に知っておきたい「4つの本質」|エクセル雑感(2026-06-24)
2つのシート名を交換するVBAをGeminiに作らせてみた。|VBA技術解説(2026-05-22)
ヘッダーに合わせて列をソートして値貼り付けするスマートな方法|VBAサンプル集(2026-05-20)
4大分岐関数の使い分け(IF/IFS/SWITCH/CHOOSE)|エクセル入門(2026-05-19)
Excel主要関数 習得難易度 10段階(文字列・日付除く)|エクセル雑感(2026-04-27)
Excelのシート5分類|エクセル雑感(2026-03-27)
グループ別に全員共通の重複期間を算出|エクセル練習問題(2026-03-12)
ハイフン区切り文字列の『最初』と『最後』を抽出・結合|エクセル練習問題(2026-02-23)
AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.変数宣言のDimとデータ型|VBA入門
3.日本の祝日一覧|Excelリファレンス
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.Excelショートカットキー一覧|Excelリファレンス
6.繰り返し処理(For Next)|VBA入門
7.RangeとCellsの使い方|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ