|
▼りり さん:
テキストファイルの読み込みを行うには様々な方法があります。
お使いのVBA標準IOのコードでもいいですし、あるいは エクセルブックとして開くという方法もあります。
(テキストファイルがタブ区切りのファイルであれば、列が分かれて取り込まれますのでコードが簡単になります)
また、データタブの外部データの取り込み機能をVBAで実行する方法もあります。
しかし、いずれの方法であっても、そのファイルを開くなり取り込むなりしなければいけません。
アップされたコードの Application.FileDialog(msoFileDialogFolderPicker)
これは、あくまでフォルダを選択します。ですので SelectedItems(1) は、あくまで
フォルダのフルパス文字列です。
実際には、このフォルダ内に、目的のファイルが1つ、または複数存在するわけですから
フォルダ選択後、そのフォルダ内の目的のファイルを抽出する必要があります。
アップされたコードでは、その部分がないですね。
基本的な構文としては、抽出したいファイル、あるいはそれが格納されているフォルダが
どのようなものかによって、それぞれのケースでふさわしい構成にする必要があります。
●フォルダ
フォルダが固定ではない場合は、お使いのフォルダ選択ダイアログ等で、操作者にフォルダを選択させます。
もし、フォルダが固定なら、選択させるまでもなく、たとえば "c:\Test" といったようにコード内でセット
することができますね。
●ファイル
そのフォルダ内に該当のファイルが、いくつ、どんな名前で存在するかわからない場合は
Dir関数やFSOを使って、そのフォルダ内の該当のファイルを順繰りに取り出し、それを 方法はコメントした通り
いろいろありますが、開くなり取り込むなり、開いた場合は処理後閉じる。こういうことが必要です。
もし、ファイル名が固定なら、直接 フォルダパスとファイル名を与えて処理すればよろしいですね。
(フォルダ名もファイル名も固定なら、もちろん、最初から、そのファイルを処理します)
●最初からファイル選択ダイアログを出し、操作者に1つ あるいは 複数のファイルを選択させて
それを相手にする方法もあります。
★少しわかりにくかったでしょうか。
上記の中で、りりさんのケースがどれに当てはまるかによって、コード構成が変わってきます。
ですから、現行のコードを、こうこう手直しをしましょうという段階には、まだ至っていません。
何をどのように選択したいのか、選択したものをエクセルブックのシートのどこに どのように
書きこみたいのか、そういった要件を『文章』で説明いただけますか?
(レイアウトも含めて、できるだけ具体的に)
そうすれば、回答者側からは、様々なアドバイスが可能になりますので。
|
|