掲示板お問い合わせランダムジャンプ



この広告は30日以上更新がないブログに表示されております。 新しい記事を書くことで広告を消すことができます。

Top Index

2011年06月11日
ExcelファイルをCSVに変換するVBScript
Excelファイルって.NETから操作すると結構めんどくさいので、いったんCSVに変換してしたらどんなもんかね?
と思って変換ツールをVBScriptで作ってみました。



仕様
・Excelがインストールされてないと動きません。
・ExcelファイルをVBSファイルにドロップして使用してください。
・一度に複数ファイルをドロップしても可。
・エクセルファイル内に複数シートがあっても可。
・出力されるパスはExcelファイルと同じパスです。
・出力されるファイルは
 エクセルファイル名.[シート名].csv
・スクリプト実行中にエラーがあると面倒なので、Excel画面はあえて表示しています。
・気に入らない箇所があったら勝手に変更しちゃってください。

以下、ソース。

Option Explicit

Call Main(WScript.Arguments)

Private Sub Main(args)
Dim i
For i = 0 To args.Count - 1
Call SaveAsCSV(args(i))
Next
End Sub

Private Sub SaveAsCSV(file)
Dim xls
Set xls = CreateObject("Excel.Application")

xls.Visible = True
xls.DisplayAlerts = False

xls.Workbooks.Open file

With xls.ActiveWorkbook
Dim i
For i = 1 To .Sheets.Count
.Sheets(i).Select
Dim csv
csv = file & "." & .Sheets(i).Name & ".csv"
.SaveAs csv, 6
Next
End With

xls.Quit
Set xls = Nothing
End Sub

[ 投稿者:mk3008 at 12:13 | Excel マクロ | コメント(3) | トラックバック(0) ]

この記事へのコメント
お礼
とても参考になりました、ありがとうございました<(_ _)>
タブ区切りテキストに変更したバージョンを掲載し、こちらの記事を紹介させていただきました。
なにか問題ございましたらお手数ですがお知らせいただけますでしょうか。
投稿者: 9innings at 2013-11-30 12:15:41
Re:お礼
リンクしていただきありがとうございます。
つかわれてなんぼですので、ご自由に改変ください^^

#関数名は「SaveAsTSV」とかのほうがいいかもねw
投稿者: mk3008 at 2013-11-30 15:42:52
ありがとうございます
ご快諾&ご指摘ありがとうございます!修正いたしました<(_ _)>
投稿者: 9innings at 2013-11-30 19:49:26

この記事へのトラックバック

この記事へのトラックバックURL
http://shinshu.fm/MHz/88.44/a05597/0000361744.trackback

この記事の固定URL
http://shinshu.fm/MHz/88.44/archives/0000361744.html

記事へのコメント
 
簡単演算認証: 3 x 4 + 5 =
計算の答えを半角英数字で入力して下さい。
名前: [必須]
URL/Email:
タイトル:
コメント:
※記事・コメントなどの削除要請はこちら