| Top Page | プログラミング |

エクセル (MS Excel) でテキストファイルの一括保存・読み込み

2005-02-23

※連続するスペース区切りテキストファイルの読み込みができてないバグを修正しました。 (2010-09-06)
※Office 2003以前,Office 2007 いずれでも動作するように改訂しました. (2008-06-11)

プログラムの目的

何回もの調査や実験結果などのデータをエクセル(Microsoft Excel、以下、Excel) の ファイルに記録しておく場合,一回の調査ごとや実験ごとなどにデータシートを作り、 これを束ねたワークブックを作ると管理がしやすくなります。

データ入力・管理は Excel で,解析はほかのプログラムでという場合、 テキストファイルの形でデータのやりとりをすることも多いでしょう。 そのとき,Excel のデータをテキスト形式で保存したり、テキストファイルを Excel に 読み込んだりすることになります。 けれども,10ページ,20ページのシート一枚ごとに手作業でテキスト保存したり、 たくさんのテキストファイルを読み込んだあと、 一枚づつマウスでドラッグしてひとつのワークブックに持ち込んだりするのは かなりめんどうです.

そこで,これらの作業を自動化するプログラムを VBA (*)で書いてみました. ワークシートやテキストファイルの数がいくら多くても一括処理できます. 公開しますのでご自由にお使いください.

※ VBA (Visual Basic for Application) は,Visual Basic の派生言語のようなもので, Excel や Word の機能を拡張して,自分がやらせたい作業を自動化したりできます.

ダウンロード

保存,読み込みそれぞれのプログラムを書きこんだ Excel のファイルを公開します. Excel 97 以降で動作します.Windows 版でも Mac 版でも動きます. ※ Office 2007 でも動作するように改訂しました. (2008-06-05)

※↑ブラウザ上でダブルクリックするといきなりダウンロードして Excel で開いてしまう 設定になっている場合は,開いたファイルあらためて保存するなり, ダブルクリックせずに右クリックメニューからで「リンク先を保存」というような項目を選ぶなり、 OSやブラウザに応じた方法でダウンロードしてください.

使い方

適当なところに保存したファイルを Excel で開いてください. このときマクロを有効にしておかないと動作しません. セキュリティの設定などに注意してください. (参考: Microsoft サポートページ

ひとつのファイルに,Save と Load , 2枚のシートが入っています. テキスト保存するときは Save, テキストファイルを読み込むとこは Load の シートを使います. 各シートにかかれている指示にしたがってボタンをクリックしたりファイルを選択 したりしてください. 以下に,それぞれのシートを開いたときのイメージを載せておきます.

Save(テキスト一括保存)

一括保存プログラムのコード

保存用プログラムファイルの画面


Load (テキスト一括読み込み)

一括読み込みプログラムのコード

読み込み用プログラムファイルの画面


謝辞

私は Windows 版の Excel しか持っていないので,Windows 対応だよと書いてましたが, その後,Mac 版でも動作するという報告を筑波大学の澤綾子さんからいただきました. 感謝します. また,はじめはテキスト保存のプログラムだけを公開していましたが,ある方から, 一括読み込みプログラムも欲しいというメールをいただいて, 保存用プログラムを作製しました. この時に,あわせて保存用プログラムの使い勝手も改善しました. 動機づけをいただいたことに感謝します. MS Office Excel 2007 では一括読み込みが動作しないことをお知らせいただいた 大津さんに感謝します. 一括読み込み時に、スペース区切りファイルを正しく読み込めないバグをお知らせ いただいた中野厚史さんに感謝します。


| Top Page | プログラミング |