プロが教える店舗&オフィスのセキュリティ対策術

宜しくお願いします。

Windows98SE と XP を使っています。

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

どうぞ宜しくお願い致します。

A 回答 (2件)

もしコンマ区切りのテキストデータでしたら、下記ソフトが使えると思います。


http://www.vector.co.jp/soft/win95/business/se23 …

ただ拡張子が.xlsか.csvのファイルしか扱えませんので、まず拡張子を全て.txtから.csvに変えてやります。
下記ページから適当なものをお選びになると良いと思いますが、

とりあえず一番上の「極窓」だと
http://computers.yahoo.co.jp/download/vector/win …
1)テキストファイルの入っているフォルダを開いておく
2)アプリケーションを立ち上げてウインドウの下のファイル欄に、フォルダからテキストファイルのアイコンを全て選択してドラッグ→ドロップ
3)ファイル欄に名前がリストアップされたのを確認して、「ALL」ボタンを押して全てを選択
4)編集→一括変換→拡張子変換で「csvの拡張子にする」として開始

で拡張子が変換されると思います。

あとは上で紹介したソフトを使って
1)あらかじめ適当な所にエクセルの新規ワークシートを用意しておく
2)ソースファイルの欄に、フォルダからCSVファイルのアイコンを全て選択してドラッグ→ドロップ
3)集合先の所で新規ワークシートを指定
4)コピー後のシート名は「ソースのシート名」にして「処理実行」

以上で完了です。

参考URL:http://www.vector.co.jp/soft/win95/business/se23 …
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/05/05 19:18

●エクセルでは、ある目的のことをしようとすると大きく分けて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に興味があるか判りませんので略。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/05/05 19:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!