• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セルをダブルクリックすると、不特定のフォルダ内にある、セルの値を含む名前のファイルが開くマクロを教えて下さい。)

Excel VBAでセルの値と一致しないファイルを開くマクロの作成方法

このQ&Aのポイント
  • Excel VBAを使用して、セルの値と完全に一致しないファイルを自動的に開く方法を教えてください。
  • 特定のフォルダ内にあるファイルの中から、セルの値で始まるファイルを見つけて開くマクロを作成したいです。
  • セルをダブルクリックすると、セルの値とは一致しないファイルを開く方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

>ファイル名が、セルの値と完全には一致していないファイルを自動的に開く 部分一致しているBookを全て開くと言う事でしょうか?

lily999
質問者

補足

拝見してくださってありがとうございます。 はい。 部分一致しているBookを全て開きたいです。 ファイル名の一番最後が、修正があった場合はRev2,REV3,(rev4) となっていたりして規則性がなく、本当は一番最新のファイルのみ開きたいのですが、そこまで高望みはしていないのです。 よい方法ありましたらどうかよろしくお願いします。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

質問者は、やりたいことだけ書いているが この質問に必要なスキルは、どんなものが必要か考えているのかな。 要素に分解すること。 (1)あるフォルダにある、ファイル名を1つずつ取り出す。 (2)その1つ1つのファイル名(=ブック名)が、望む(名前)文字列を含むかどうかを調べる。 (3)(A)含んでいれば、ブックを開く    (B)含んでいなければ次のファイル名のチェックに行く (4)最後にどういうときにファイル探索は終るのか。 こういう風に考えるのは、VBAコードを知らなくても経験を積むとわかる。質問者は経験が少なく、この質問も背伸び問題でしょう。 ーーー (1)(4)はWEB照会すれば記事が腐るほどあります。 1例は http://www.moug.net/tech/exvba/0060001.htm で 'Workbooks("Book1.xls").Activate と 'ChDir myPath をコメント化すること(とりあえず働か無くする) <--( )の部分は全て削除して 実行 シートにエクセルブック名の一覧が出る。 これで様子がつかめるでしょう。 この中でも myFName = Dir() と myFName = Dir("*.xls") が要点です ーー (2)はInstr関数を使います。 質問の場合、チェックしたいファイル名の型は複数あるようだから 繰り回して聞く。 フォルダは特定の1つらしいから、上記のChDir myPathのところを修正する。 判らなければ、その語句で(例 InstrやChDir)WEB照会すればよいのだ。 それの積み重ねで経験が増える。 丸投げの質問のフル回答を実行して、動きましたなんて回答者が多いが、心得違いです。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

私の環境で作ったそのままですが。 Wドライブのaaa,bbb,cccフォルダにある123・・・.xlsと言うBookを 開いていくサンプルです。 Sub Test()     Dim myPath As String     Dim myFName As String     Dim myFil As String     Dim i As Integer     Dim v As Variant     myFil = "123" ' Target.Valueに置き換える          ' 開いていきたいフォルダ名     For Each v In Array("aaa", "bbb", "ccc")         myPath = "W:\" & v & "\"         myFName = Dir(myPath & myFil & "*.xls")         Do While myFName <> ""            Workbooks.Open Filename:=myPath & myFName            myFName = Dir()         Loop     Next End Sub ご参考になれば。

lily999
質問者

お礼

n-junさんが記述して下さったサンプルを参考にして いろいろやってみます。 有り難うございました。

関連するQ&A