[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『csvファイルにダブルクォーテーション』(める)
今回もお世話になります。
ドラッグドロップで.xlsファイルを.csvファイルに変換するものを作成しました。
ダブルクォーテーションで区切るようにしたいのですが、何か方法はありませんか。
例) "aaa","bbb"
よろしくお願い致します。
以下ソース .vbpです。
If WScript.Arguments.Count = 0 Then
MsgBox "xlsファイルをドラッグドロップしてください" WScript.Quit End If
'Excelのファイルの数だけ繰り返す
For Each Excel_F_Name In WScript.Arguments
'拡張子がExcelかどうか確認する If LCase(Right(Excel_F_Name, 3)) = "xls" Then
'ExcelのObject定義 Set Excel_Object = CreateObject("Excel.Application")
'Excelの警告が出ないように設定 Excel_Object.Application.DisplayAlerts = False
'csvファイル名を設定 Csv_File_Name_A = Mid(Excel_F_Name, 1, Len(Excel_F_Name)-4)&".csv"
'カレントパスの取得 Script_Path = Replace(WScript.ScriptFullName,WScript.ScriptName,"") Set OBJ_File_SYS = CreateObject("Scripting.FileSystemObject")
'Excelは表示しない Excel_Object.Visible = false
'Excel ファイルをOpenする Set Excel_Book = Excel_Object.Workbooks.Open(Excel_F_Name)
'1つ目のシートを対象 Set Excel_Sheet = Excel_Book.Sheets(1)
'ExcelのCell定義 Set Excel_Cell = Excel_Sheet.Cells
'Excelの「オートフィルタ」があればはずす If Excel_Sheet.AutoFilterMode Then If Excel_Sheet.FilterMode Then Excel_Sheet.ShowAllData End If End If
Excel_Sheet.Select Excel_Sheet.Cells.Select
'Excelの行と列の「表示しない」があればはずす Excel_Cell.EntireRow.Hidden = False Excel_Cell.EntireColumn.Hidden = False Excel_Sheet.Copy
'CSV形式で保存する Excel_Book.SaveAs Csv_File_Name_A,6
'Bookを閉じる Excel_Book.Close
'Excelを閉じる Excel_Object.Quit Set Excel_Cell = Nothing Set Excel_Sheet = Nothing Set Excel_Book = Nothing Set Excel_Object = Nothing
Else
MsgBox Excel_F_Name MsgBox "xlsファイルをドラッグドロップしてください"
End If
Next
MsgBox "xlsファイルをcsvファイルに変換しました"
データ中に " や , がないことという前提ですが、
Lines = Split(OBJ_File_SYS.OpenTextFile(Csv_File_Name_A).ReadAll(),vbNewLine) For i=LBound( Lines ) To UBound( Lines ) Lines(i) = """" & Replace( Lines(i), ",", """,""" ) & """" Next OBJ_File_SYS.CreateTextFile(Csv_File_Name_A).Write Join( Lines, vbNewLine )
のような後処理をしたらどうでしょうか。 (Mook)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.