- 締切済み
VBAフォルダやファイル操作について
VBA初めての初心者です。 VBAのフォルダとファイル操作関連の質問です。(初心者です) 【やりたいこと】 画面から、 入力フォルダのパスを入力する・・・(1) 出力フォルダのパスとファイル名を入力する・・・(2) ・処理概要 入力されたフォルダ内のファイルを順次読み込み、 リネームして、出力フォルダに追加出力する。 (1)フォルダ内全ファイルを出力して終了する。 追加処理として、 (1)を複数入力できるようにしたいと思います。 ・詳細処理 出力フォルダのファイルネームは、連番であり、 画面での入力(2)ファイル名から連番したファイル名(+1していく) 出力するデータ内容は(1)のコピーのままでよい。 入力されたフォルダ内の全てのファイルを実行して終了する。 このようなプログラムなのですが、 初心者で、 わかりません。 思うようにコーディングしても 動きません???? どのように コーディングすればいいですか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- fjdkslty
- ベストアンサー率28% (9/32)
単純に、あとでいろいろ処理(3で、ディレクトリのパスとファイル名とつなげるなど) がしやすいよう、まず変数に入れておくのが便利と言いたかっただけです^^; それとも、変数は、お使いになったことはありませんか? (念のため。一般的なプログラミングと大まかな概念は同じです。 もしご存じなければ、参考URLなどをご覧になってください) 変数の扱いに不慣れであれば、まずは入力したパス名を 隠しシートに吐き出してしまっても良いと思います。 あと、VBAのリファレンスはお持ちですか? 私も初めてVBAを組んだときは、独学で似たようなコードを組みましたが、 全てのVBAの機能が掲載されている分厚いリファレンスが手元に1冊あると、ぐっと作業がしやすくなります。
- fjdkslty
- ベストアンサー率28% (9/32)
ちなみに、参考までに・・・。 私でしたら、大雑把に、以下の手続きを取ります。 1:入力・出力フォルダのパスを変数に入れる。 2:Dirで入力フォルダのパス内のファイルの一覧を出力する。 3:入力フォルダのパスとファイル一覧を繋げ、ファイルのパス名一覧を作成する。 4:Filecopyで3のファイルを出力フォルダのパスにコピーする。 詳細処理は理解が出来なかったのですが、 連番ならFor~Nextか、 もしくは3と4をLoopで回す際、FilecopyのDestinationに変数を利用し、+1する といったあたりです。 慣れないうちは、シート(隠し)に、パス名やファイル名を吐き出す仕様にすると、 処理を視認しやすいため、デバッグなどに役立つことと思います。
お礼
ありがとう! 作業手順1から4で、 概略が見えてきました。 dirを使用してみます。 ありがとうございました。 ? 1:入力・出力フォルダのパスを変数に入れる。・・・?? 変数に入れる? どういうことですかね?
- fjdkslty
- ベストアンサー率28% (9/32)
「コーディングしても」ということは、一応組んだのですよね? まずはデバッグを行って、どこで引っかかっているのかを検証しましょう。 それが分からないと、解決は出来ませんよ。
お礼
fjdksltyさん、ありがとう。 お礼が遅くなってすみませんでした。 「変数」、「シートに吐き出す」とかいうことも チャレンジしてみます。 また、 VBAのリファレンス所持のアドバイスも ありがとうございました。