[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『名前がその都度変わるファイルを指定して操作したい』(VBAVAA)
その都度不規則に名前が変更されるファイル(以降ファイルA)があり、別ファイル(以降、ファイルB)のマクロを実行したら、どうにかしてファイルAを指定して、ファイルAの情報をファイルBに入れたいです。
ファイルAも開いているとして、ファイルAを指定する方法はあるでしょうか?ファイルの指定ができた後の作業は別に決まっていません。
可能であれば関係ないエクセルファイルも開いている上でファイルAを特定できたらと思いますが、無理もしくは非常にややこしくなるならファイルAとBだけが開いている状態でも構いません。
コードを全部書いてくれというわけではなく、自分で調べて書きたいので、大まかな考え方を教えてもらえると有難いです。
< 使用 Excel:Excel2011(Mac)、使用 OS:Windows10 >
(γ) 2021/05/11(火) 15:13
1)ブックA(ファイルA) → データ入力用ブック → ちょくちょく名前を付けて保存するので、名前が変わる。
2)ブックB(ファイルB) → データ集積用ブック
3)作業に関係ないブック
と3つ開いているという前提条件でのマクロということでしょうか?
で、マクロは、データ集積用ブックに仕込んでおくイメージでしょうか?
(まっつわん) 2021/05/11(火) 15:48
まっつわんさんの推測でほぼ合っていますが、より詳しく言うと
ブックA(ファイルA)が自動でファイル名をつけて定期的に作成されます。
下のような感じです。
イメージ 1回目 『○○○abc.xlsx』
2回目 『○○○bbc.xlsx』
・・・
※○○○は一緒で、それ以降が規則性の無い文字列
その上で、まさにYさんの言われているとおり、現在のファイル名をどうにかしてコード上に書かないで
(かつ、インプットボックスとかの手作業も無しで)特定できないものかというところです。
(VBAVAA) 2021/05/11(火) 16:33
Like "○○○???.xlsx"
(マナ) 2021/05/11(火) 17:24
エクセルのブックを二つ開いた状態で、 そのうち一方のブックでマクロを実行したときに、 もう一つのブックの名前を取得したいということでしょうか? 開いているファイルが二つだけなら For each とか For i = 1 to 2 みたいなループの中で、 名前が ThisWorkbook.Name ではないものの名前を取得する方法もあります。 (tora) 2021/05/11(火) 17:41
>ブックA(ファイルA)が自動でファイル名をつけて定期的に作成されます。
定期的に新しく作成された、ファイルの中身を、
定期的に決まったファイルに、追記したいということですね。
一例としては、
1)定期的に作成されるファイルを、決まったフォルダーに蓄積していく
2)定期的に決めたフォルダー内のファイルを順次開いて読み込む、
3)取り込んだファイルのファイル名を記録しておき、
次回開く前には作業をしないよう照合して条件分岐する
という方法が考えられるかと思います。
当然、ファイルは開いた後、決められたデータの形式かどうか、
チェックしてから取り込むことになると思います。
あとは、試行錯誤しながら、
開発していくことになるかと思います。
(まっつわん) 2021/05/11(火) 17:48
意見を見ながら試行錯誤してみます。感謝です(*´ω`)
(VBAVAA) 2021/05/11(火) 18:36
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.