• ベストアンサー

VBSで複数のCSVファイルを新しいXLSファイルの各シートに格納したい

自分にVBSの知識がない上にかなり時間がありませんので丸投げの形になってしまいますが、どうかよろしくお願いいたします。 やりたいことは以下の通りです。 (Excel非表示) (1)CSVファイルtest01.csv~test10.csvを引数から取得 (2)各CSVごとにCSV名のシートを作成し、それぞれのシートに各CSVを格納 (3)新しいXLSファイルtest.xlsに保存 以上です。 どうかよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

コードを作ってみた風でもなく,回答者にやらせる丸投げです。 >時間がありませんので 下記だって私の場合、できるまでに何十年かかっているか。 プログラムの習得を甘く考えないこと。 ーー VBSを少し深く勉強したのでもないようだから、VBAだけでやる方法にしておくことを勧める。 ーー 回答者側のテストの簡素化の為に、CSVファイルは3つにした。 下記データを作って小数データながらテスト済み。 ””で文字列データを囲む式のCSVデータファイルなら修正が必要。 test01.csv test02.csv test03.csv 下記コードのフォルダのフルパスのユーザー名は実情で変えてください。 下記コードの場合は、データ受け入れシートはシートタブ的に左に寄せ集めてておくこと。 --- Sub test01() For i = 1 To 3 'CSVファイルサブ番号作成 n = Trim(Str(i)) n = Format(n, "00") MsgBox n '--データ受け入れシートを決定 Sheets(i).Activate Open "C:\Documents and Settings\xxxx\My Documents\test" & n & ".csv" For Input As #1 k = 1 'シート第1行目から While Not EOF(1) Line Input #1, a s = Split(a, ",") 'カンマで分離 For j = 0 To UBound(s) '行の各列にデータをセット ActiveSheet.Cells(k, j + 1) = s(j) Next j k = k + 1 'セットするデータ行を1行下へ Wend Close #1 Next i End Sub ーー このほかにVBScriptで ObjText.Readlineを使う Set objFile = CreateObject("Scripting.FileSystemObject") Dim MyFile, MyFileNew MyFile="・・・ Set objText=objFile.OpenTextFile(MyFile) RLog.Open "Select * From tblCoreImportTest",Conn,3,3 Do while not objText.AtEndOfStream strTextLine=objText.Readline data=Split(strTextLine,",") ・・・ や ーー http://ameblo.jp/morningshot/entry-10001147530.html Workbooks.OpenText fileName:="c:\test.csv", _ を使う方法や色々ある。

関連するQ&A

  • vbs xlsをcsvに変換

    vbsでxlsファイルをcsvファイルに変換することは可能でしょうか。 手動で拡張子をcsvにすると、カンマ区切りではないため 一列目にすべての値がスペース区切りで出力されてしまいます。 vbsで実行可能でしたらコードのご教示頂けますでしょうか。

  • エクセルの任意のシートをcsv出力するVBScript

    c:\a01.xls という名前のエクセルファイルがあり、sheet1、sheet2、sheet3 というシートの構成とします。それぞれのシートには何件かの入力があるとします。 この エクセルファイルから Sheet2 の シートのデータを c:\csv01.csv にCSV出力するには どのような test.vbs を作成したらよいのでしょうか? 教えてください。

  • VBSでExcelシートのコピー

    VBSである決まったExcelシートを別なExcelファイルにシートコピーできる方法はないですか? やりたいことは、Excelファイル「A.xls」内の「Sheet1」というシートをExcelファイル「B.xls」の一番末尾に「Sheet1」をコピーする、です。 (Excelのシート名上で右クリック→「移動またはコピー」→移動先ブック名を選択→「末尾へ移動」、「コピーを作成」にチェック、と同じことをVBS上で行いたいのですが。)

  • csvファイルをxlsファイルへ取り込み

    xlsファイルにシート「Sheet1」だけあったとします。 そこからマクロで、 「csvファイルの選択」   ↓ 「csvファイルを選択してそれをシートの末尾へ挿入していく」 ようなマクロができないか考えています。 すいませんが教えていただけないでしょうか?

  • csvをxlsに変換する方法を教えてください

    CSVファイルをXLSに変換する方法を教えてください。 「名前を付けて保存」で拡張子をcsvからxlsに指定して保存したものを開くとデータが”、”で区切られただけで、1列の形にごちゃごちゃデータが詰まった表示になってしまいます。最初に開いた形でそのままxlsの形にしたいのですが何か方法はありますでしょうか。 エクセルのバージョンは2003です。 よろしくお願い致します。

  • VBSを利用して、ファイル名を取得

    VBSを利用して、ファイル名を取得 はじめまして VBSを利用して、ファイルのフルパスを取得したいと思っております。 具体的には、フォルダ内のファイルを1ファイルずつ取得するようなプログラムを 作成したいと思っております。 C:\TEST \2010 \aaa.csv C:\TEST \2010 \bbb.csv C:\TEST \2009 \ccc.csv C:\TEST \2008 \ddd.csv C:\TEST \2008 \eee.csv フルパスを取得したいのですが、どのようにしたら良いでしょうか。 最終的には、上記の読み込んだファイルごとにファイルの中身を1行ずつ確認して、 特定の文字が含まれているか確認をするようなスクリプトにしようと思っております。 そのため、objFS.OpenTextFile("取得フルパス",ForReading)のようにして 取得したフルパスごとに読み込みをしようと思っております。 どなたか、お手数ではございますが、ご教授願います。

  • htmlまたはJavascriptからファイルを引数つきで起動する。

    htmlまたはJavascriptからファイルを引数つきで起動する。 マクロ(macro.xls)に引数(csvファイル名)を渡して起動させたいため、 vbsを作成してマクロを引数つきで実行するようにしました。 コマンドからは >test.vbs /FILE:macro.xls /P:aaa.csv でマクロを実行することができたのですが、 HTMLにリンクを張り、リンクをクリックすることで vbsを引数つきで実行するにはどうすればよいでしょうか? (Javascriptを経由しても構いません)

    • ベストアンサー
    • HTML
  • PHPで.xls→.csvへの変換はできますか?

    お世話になります。よろしくお願いします。 今PHPでcsvファイルを扱うプログラムを作成しているのですが、 クライアントが.xslのファイルをエクセルで開いて、".csvで保存"を行い、プログラムに読み込ませる という手段を取っています。 ここで、プログラムが読み込むファイルは.xlsのままで、プログラム内部により、 .csvに変換して扱うという手段を取りたいのですが、可能なのでしょうか? そのようなクラス、関数等ありましたら、ご教示下さい。

    • ベストアンサー
    • PHP
  • .xlsと.csvが開かない

    知り合いから以下の2つのファイルを送られてきましたが、エクセルで開くことができません。 hogehoge1.xls hogehoge2.csv ・どちらのファイルも、MS-Excel2003で開こうとすると、「このファイルの形式を認識できません」と表示されます。 日本マイクロソフトのページから最新のExcel Viewerを導入してViewerから開いても同じです。 ・テキストエディタ(メモ帳)で開くと、どちらのファイルも文字化けしており、バイナリファイルっぽい感じです。Nullも含んでいます。 ・普通、csvファイルはもちろん、*.xlsでもテキストエディタで開くとヘッダー部分でなんとなくエクセルだと判断できますが、このファイルはエクセルっぽくありません。 .xlsのファイルは、最初の8バイトくらいがみんな同じですが、その8バイトがありません。 ・拡張子を .xlsxや、.lzh 、.zip、.exe に変換してみましたが、どれも開くことができません。 「xxxを試してみては?」などのアドバイスをいただけると助かります。 本人に聞くのが一番だとは思っていますが、しばらく本人に連絡がとれないため、ここで質問させていただきました。 こちらの環境 WindowsXP SP3 MS-Excel2003

  • 「dbf」「csv」などをマクロで「xls」に一括変換する方法

     お世話になっております。 タイトルの通りの質問なのですが、拡張子「dbf」「csv」などのエクセルで開けるファイルをマクロで「xls」に一括変換する方法が分からなかったので質問させていただきました。 まずやり方としてなのですが、 1:「dbf」もしくは「csv」ファイルをフォルダから選び開く。 2:何も変更せずにファイル→名前を付けて保存ボタン 3:ファイル名を変更せずに保存拡張子を「Microsoft Office Excel ブック(*.xls)」に変更し保存。 4:Excelブックを変更や保存せずに閉じる。 これだけの事なのですが、流石に200個ほどあるのでマクロで出来ないものかと思いまして質問させていただきました。 ・マクロを実行するとフォルダ選択にいき、新しく「xls」に変更したいファイルを選択し、実行すると「xls」が出来ている。と言うのが理想なのですが、そのような事は可能なのでしょうか? ・1つのフォルダに様々な箇所から集めた「dbf」や「csv」をまとめてありますので、どのファイルを選択するかの時に複数個選択出来ると非常に助かります。 ・「dbf」と「csv」両方対応していなくてもどちらかだけでも、構いません。 よろしくお願いします。