Excel VBA 質問スレ Part83 (628レス)
Excel VBA 質問スレ Part83 http://mevius.5ch.net/test/read.cgi/tech/1749348402/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
379: デフォルトの名無しさん [sage] 2025/07/07(月) 09:23:50.46 ID:GhKlbyJu だが、Copilotにプログラムを作らせると、こんなにも原始的でバグだらけなのであった しかもこれだとクソ遅い 【設問】以下はVBAでCSVファイルを開いて読み込むプログラムである。バグを指摘せよ。 FilePath = "C:\Users\YourName\Documents\sample.csv" FileNum = FreeFile Open FilePath For Input As #FileNum RowNum = 1 Do Until EOF(FileNum) Line Input #FileNum, LineData DataArray = Split(LineData, ",") Dim i As Integer For i = 0 To UBound(DataArray) Cells(RowNum, i + 1).Value = DataArray(i) Next i RowNum = RowNum + 1 Loop Close #FileNum http://mevius.5ch.net/test/read.cgi/tech/1749348402/379
380: デフォルトの名無しさん [sage] 2025/07/07(月) 10:00:11.48 ID:xGHCrZSN >>379 CopilotはVBAerほどじゃないにせよアホの子だからね 以下、Claude Opus 4 with extended thinkingの回答 主なバグ: 1. カンマを含む値(“Tokyo, Japan”等)が分割される 2. エラー処理なし。ファイルなかったら死ぬ 3. 変数宣言してない(Option Explicit使ってたらエラー) 4. UTF-8読めない。日本語文字化け 5. セル1個ずつ書き込みでクソ遅い 6. 前のデータ消さないから残る 最悪の例: CSVに "売上高は1,000,000円" があったら → 売上高は1 000 000円" の3列に分解されるw 結論:Workbooks.OpenTextかQueryTables使え http://mevius.5ch.net/test/read.cgi/tech/1749348402/380
382: デフォルトの名無しさん [sage] 2025/07/07(月) 14:15:38.83 ID:quoGln+a >>379 ChatGPTだとこんな感じですね。 そのまま貼り付けたので全角も見てくれてる。 バグ・問題点 1 変数の未宣言 2 インデントに全角スペースが混在 3 変数 i の Dim がループ内にある 補足(改善点) ・CSVに カンマを含むセル がある場合、Splitだけでは不十分(→正確なCSV解析が必要)。 ・ファイル存在チェック (Dir(FilePath) など) を入れるとより堅牢になります。 ・Shift-JIS以外の文字コード(例:UTF-8 BOM付き)は Open では正しく読み込めないことがあります。 http://mevius.5ch.net/test/read.cgi/tech/1749348402/382
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.157s*