Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11413 / 13644 ツリー ←次へ | 前へ→

【16221】ファイル処理 じじ 04/7/21(水) 11:06 質問[未読]
【16222】Re:ファイル処理 ちゃっぴ 04/7/21(水) 11:13 発言[未読]
【16223】Re:ファイル処理 じじ 04/7/21(水) 11:28 質問[未読]
【16224】Re:ファイル処理 ちゃっぴ 04/7/21(水) 11:32 発言[未読]
【16226】Re:ファイル処理 じじ 04/7/21(水) 11:45 質問[未読]
【16227】Re:ファイル処理 ちゃっぴ 04/7/21(水) 12:12 発言[未読]

【16221】ファイル処理
質問  じじ  - 04/7/21(水) 11:06 -

引用なし
パスワード
   2つのフォルダ(A・B)内にある.xlsファイル名をすべて取得し、
変数に保存しておいて、ファイルを開いたときにどちらのフォルダのものかを
判定するマクロを作りたいのです。
判定はIF文でいけると思うのですが、保存方法がよくわかりません。
どなたか、教えて頂けないでしょうか。よろしくお願いします。

【16222】Re:ファイル処理
発言  ちゃっぴ  - 04/7/21(水) 11:13 -

引用なし
パスワード
   >2つのフォルダ(A・B)内にある.xlsファイル名をすべて取得し、
>変数に保存しておいて、ファイルを開いたときにどちらのフォルダのものかを
>判定するマクロを作りたいのです。

変数に格納するのは、ファイル名よりパス名の方が適切でしょうね。
2つのフォルダとのことですので、格納する変数を分けておけば
判別する必要もないのでは?

>判定はIF文でいけると思うのですが、保存方法がよくわかりません。

普通に変数に代入すればいいのでは?
配列使ったほうがいいかもしれないですね?

Dim strPathName() As Stirng

Do
  Redim Preserve strPathName(n) As String
  strPathName(n) = パス名
  n = n + 1
Loop

パス名取得部分及び、ループ終了条件は省略してあります。
ご自身でお考えください。

【16223】Re:ファイル処理
質問  じじ  - 04/7/21(水) 11:28 -

引用なし
パスワード
   ▼ちゃっぴ さん:

ありがとうございます。
>変数に格納するのは、ファイル名よりパス名の方が適切でしょうね。
>2つのフォルダとのことですので、格納する変数を分けておけば
>判別する必要もないのでは?
同じドライブのフォルダから開くのならいいのですが、
都合によりファイルは複数の場所にあるためパス指定はできません。
ファイル数も増える可能性があるので、できれば逐次読み込み
ができるようにしたいのですが。

【16224】Re:ファイル処理
発言  ちゃっぴ  - 04/7/21(水) 11:32 -

引用なし
パスワード
   >ファイル数も増える可能性があるので、できれば逐次読み込み
>ができるようにしたいのですが。

何をしたいのかが、よくわからなくなってきました・・・
整理しましょう。

2つのフォルダではなく、ローカルマシンにあるExcelブックを
列挙したいということですか?

【16226】Re:ファイル処理
質問  じじ  - 04/7/21(水) 11:45 -

引用なし
パスワード
   ▼ちゃっぴ さん:
わかりずらくてすいません。
>2つのフォルダではなく、ローカルマシンにあるExcelブックを
>列挙したいということですか?
具体的には、FドライブにあるAとBフォルダ内のExcelブック名を
全て取得しておいて、CドライブからExcelファイルを開く時に名前を
つき合わせ、AのものかBのものかを調べたいのです。

【16227】Re:ファイル処理
発言  ちゃっぴ  - 04/7/21(水) 12:12 -

引用なし
パスワード
   >具体的には、FドライブにあるAとBフォルダ内のExcelブック名を
>全て取得しておいて、CドライブからExcelファイルを開く時に名前を
>つき合わせ、AのものかBのものかを調べたいのです。

なぜそのような処理を行うかに疑問が残りますが・・・

フォルダ内のExcelブック名の列挙方法は下記スレに
5通りほど紹介しましたので、お好きな方法をお選びください。

http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=16218;id=excel

ただ、フォルダ内のファイル列挙は非常に時間がかかりますので
あまり現実的ではないかも・・・

AとBフォルダ内のExcelブック名を全て取得しておいて判別とのことですが、
変数に入れる場合も、シートに出力する場合もあらかじめ、別の入れ物に
入れておけばよいと思います。

検索する際、両方を検索し、それがどちらにあるかで判定可能です。

純粋にファイルを開かせたいということなら、GetOpenFilenameを使用して
ダイアログから選択させればよいように思いますが・・・

状況(なぜそのような処理を行うか?)がよくわかりません。

11413 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free