• ベストアンサー

メモ帳(テキストエディタ)に書いた内容をエクセルへ読み込むには?

宜しくお願いします。 Windows98SE と XP を使っています。 フォルダに多数あるメモ帳に書かれたファイルを 一括してエクセルへ読み込みたいと思っています。 この場合、1つのエクセルファイルの中にシートが 多数できるイメージを考えているのですが、 操作として可能なのでしょうか。 可能であれば方法を教えて頂けると助かります。 どうぞ宜しくお願い致します。

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

  • ベストアンサー
  • shiga_3
  • ベストアンサー率64% (978/1526)
回答No.1

もしコンマ区切りのテキストデータでしたら、下記ソフトが使えると思います。 http://www.vector.co.jp/soft/win95/business/se234501.html ただ拡張子が.xlsか.csvのファイルしか扱えませんので、まず拡張子を全て.txtから.csvに変えてやります。 下記ページから適当なものをお選びになると良いと思いますが、 とりあえず一番上の「極窓」だと http://computers.yahoo.co.jp/download/vector/win/util/file/name/ext/ 1)テキストファイルの入っているフォルダを開いておく 2)アプリケーションを立ち上げてウインドウの下のファイル欄に、フォルダからテキストファイルのアイコンを全て選択してドラッグ→ドロップ 3)ファイル欄に名前がリストアップされたのを確認して、「ALL」ボタンを押して全てを選択 4)編集→一括変換→拡張子変換で「csvの拡張子にする」として開始 で拡張子が変換されると思います。 あとは上で紹介したソフトを使って 1)あらかじめ適当な所にエクセルの新規ワークシートを用意しておく 2)ソースファイルの欄に、フォルダからCSVファイルのアイコンを全て選択してドラッグ→ドロップ 3)集合先の所で新規ワークシートを指定 4)コピー後のシート名は「ソースのシート名」にして「処理実行」 以上で完了です。

参考URL:
http://www.vector.co.jp/soft/win95/business/se234501.html
nao-k
質問者

お礼

shiga_3 さん、ご回答ありがとうございます! 参考にさせて頂きます!

その他の回答 (1)

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

●エクセルでは、ある目的のことをしようとすると大きく分けて3つの方法が考えられます。(1)操作(2)関数 (3)VBAです。(2)は本質的に本件では適しません。 他にそう言う処理が出来るソフト(アドインソフトを含め)を見つけると言うのが、正道です。 ●(1)ですが、ファイル-開くでテキストファイルを読みこむわけですが、今までの経験(E2000までですが)1テキストファイル-1ブック(1シートのみ)になり、第2シート以後に累積して読みこんでいくことが出来ません(累積先ブックに毎回シートコピーする方法は除いて考えて)。出来る方法があるかもしれませんが。 以下の方法は、適さない人もあるでしょうが記してみます。 ●さて(3)のVBAによる方法ですが、フォルダにあるファイル名を捉える方法は、以前に回答を載せたことがあります。またフォルダにあるファイル名をエクセルのシートに表示することやシートにファイル名を入力し、そのファイルを開く方法も複雑だったり難しくはありません。 (1)VBAコード Private Sub test01() Dim fn As String Dim hn As String fn = InputBox("フォルダ名=", "フォルダ指定", "c:\My Documents\") i = 2 sdirname = Dir(fn) Do While sdirname <> "" If Right(sdirname, 4) = ".txt" Then Cells(i, 1) = sdirname hn = fn & sdirname Cells(i, 2) = hn i = i + 1 End If '------ sdirname = Dir Loop End Sub ●ファイル名が捉えることが出来れば、そのファイルをオープンし、ワークシートを1枚挿入し、1レコード(テキストファイルの復帰改行まで)のフィールド(列)の値を同じ行の列(=セル)にセットして、次のレコードのために次行を指すことを(テキストファイルの終りレコードまで)繰り返せば良い。 その処理が終わると、次のファイル処理に移る。 (2)VBAコード Sub test02() Sheets.Add.Activate Open "c:\my documents\aa2.txt" For Input As #1 i = 1 While Not EOF(1) Line Input #1, a b = Split(a, " ") For j = 0 To UBound(b) Cells(i, j + 1) = b(j) Next j i = i + 1 Wend Close #1 End Sub "c:\my documents\aa2.txt" の部分は目的のテキストファイル名に変えます。 (2)を(1)のシートのテキストファイル名によって 自動実行するようにプログラムを変えると、目的のことができます。VBAに興味があるか判りませんので略。

nao-k
質問者

お礼

imogasi さん、アドバイスありがとうございます。 私には難しそうですが、参考にさせて頂きます!

関連するQ&A