• 締切済み

ファイル名に特定の文字列を含むファイルを開きたい

セルに「abc」という文字列があります。 このセルをダブルクリックすると、特定のフォルダ内にある abcを含むファイル(たとえば090507 abc)を開く というようなことをしたいのですが、どのようにしたらよいでしょうか。 対象セルはA列です。 たとえばA2に「abc」とあれば、A2をダブルクリックすると 特定フォルダ内のabcをファイル名に含むファイルを開く A3に「xyz」とあれば、A3をダブルクリックすると 特定フォルダ内のxyzをファイル名に含むファイルを開く といった具合です。 文字列の指定はダブルクリック以外の方法でも構いません。 知識がないものでどのようにしたらよいかわかりません。 どなたかお詳しい方、どうぞよろしくお願い致します。 (ごく簡単なマクロの知識はあります)

みんなの回答

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

「簡単なマクロの知識」と、マクロと言っているレベルの人には本課題はすぐは、無理です。回答者にコードを書いて呉れ、になり、丸投げになり、質問コーナー規約違反。 本件が自然に出来るようになるには、数年のVBAの経験・勉強が必要でしょう。 -- フォルダやファイルを扱うには VbScript または  Dir関数  をGoogleででも照会して、勉強のこと。 http://homepage2.nifty.com/kasayan/vba/dir.htmなどから始まって多数 ーー VBScriptでの一例 Sub test03() Set objfs = CreateObject("Scripting.filesystemobject") Set objfolder = objfs.getfolder("C:\Documents and Settings\XXXX\My Documents\") For Each objfile In objfolder.Files If objfile.Name Like "○*" Then MsgBox objfile.Name End If Next End Sub ーー "○*"とは、 私の場合MyDocumentsフォルダにファイル名が「○何々」が数個あって それらが次々表示されました。 ーー 上記のように次々より分けていかないと、ヅバリ該当数個は出せないでしょう。 objfile.Name Like "○*" Then のLikeの使い方など経験ありますか。Like演算子。 ーー http://officetanaka.net/excel/vba/file/file02.htm のようなファイル名指定の対話型ダイアロウグで課題が解決しないかも考えてください。 === >ダブルクリックしたら・・ これもイベントというVBAの中上級の考えで、経験ありますか。 日ごろ使う、ウインドウズのソフトが、いとも簡単にクリックなどの指定を許しているから、そう思うのだと思うが、自分で作るのは難しいことなのを良く理解すること。

sakaharu3
質問者

お礼

ご回答ありがとうございます。 もう少し勉強してみたいと思います。

関連するQ&A

  • エクセルファイルをHTML化した後の特定領域の文字列抽出

    エクセルファイルをHTML化した後の特定領域の文字列抽出 1.したい事  HTMLで作った表の中から特定の場所の文字列を抽出し,クリックでその画像が出てくるようにしたい.  OSはWinXP(pro)エクセルは2003です. 2.説明  4000程のjpeg画像ファイルがあるフォルダから,ネット上で配布されていましたエクセルマクロで  ファイル名を抽出しリストを作り,それをHTML化しました.エクセル上のB列に画像ファイル名が  抽出されているわけですが,当然のことながらHTML化した時点でセルの情報は失われています.  ファイル名は変えずに(拡張子はすべてjpg),HTML構文中でその文字列をクリックするとその画像  が出てくるようにしたいと考えています(ファイル名以外の列が出来ても構いません). 3.教えていただきたい事  1)HTMLの表の書式から特定の場所(エクセルでいうセルにあたる)の文字列を抽出できる方法が    あるかどうかご教示ください.  2)私が考えている方法以外にあるフォルダから千を上まわるファイル名を抽出,リスト化し    目的を達成出来る方法があるかどうかご教示ください.   

  • エクセルで、複数のファイルの特定のセルの内容を、ファイルを開かず検索したい

    エクセルのマクロについての質問です。 見積書の一覧表のC列に記入されている見積書番号をダブルクリックすると、 フォルダに入っているファイルの中から、N1セルに同じ見積書番号が入っている ファイルを探し出して開く、というマクロを作成したいと思っています。 ダブルクリックするとアクションを起こすという部分と、 フォルダ内のエクセルファイルのアドレスを取得する部分はできたのですが、 ファイルを開かずに特定のセルを検索する方法がわかりません。 探す範囲のフォルダにはサブフォルダがいくつかあります。 また、見積書のブックのシート数は決まっておらず、 ブック名もシート名もばらばらで規則性はありません。 使用しているのはWINDOWS98SE,EXCEL97です。 ご存知の方、よろしくお願いします。

  • エクセル 特定の文字列を抽出・挿入

    例えば A列にあるセルの中から特定の文字列を検索・抽出して、その特定の文字列だけB列に挿入していく関数はありますか? またはA列にあるセルの中から特定の文字列に挟まれた文字列を検索・抽出してその特定の文字列だけB列に挿入していく関数はありますか? マクロを組まないと難しいのでしょうか?

  • ファイルを開かずにテキストファイルの文字列置換

    続けての投稿で申し訳ないのですが、複数のフォルダ中のテキストファイルすべての中身を検索してある文字列を置換する方法を教えてください。 行いたい作業例ですが、 1)ABC- → ABC-   ある特定の半角文字列+"-"を全角に変換 2)2ー → 2-      ある特定の文字列+"ー(全角の長音)"を文字列+"-(全角のマイナス)"に 3)192.168.0.?? → ABC0?? にしたいです。 フォルダは複数あるため、一階層上から作業できる方がいいです。 AAAというフォルダ下に先のABCというフォルダ以外にDEFやGHIといったフォルダがあり、その下に001-00.txtや001-01.txtというフォルダがあるということです。 よろしくお願いします。

  • コピーした文字列を現在開いているシート名にセットしたい

    現在開いているシート名を、クリップボードにある(?)文字列に 書き換える(?)マクロをつくりたいです。例えば、 (1) セルA1に、「aaa111」と入力されているとします。 (2) A1セルをダブルクリック(ないし、数式バーから必要な文字列だけを選択)します。 (3) 「111」だけをコピー(Ctrl+C)します。 (4) 「Sheet1」のタブをWクリックします。 (5) 貼り付け(Ctrl+V)により「Sheet1」が「111」に書き換えられます。 (6) Enterキーで確定します。 参考までに今の動作をマクロ記録してみると、次のようになったのですが、 「111」だけをコピーしたつもりなのに、「aaa111」がクリップボードに 格納されてしまっています。 Sub Macro1()   ActiveCell.FormulaR1C1 = "aaa111"   Sheets("Sheet1").Select   Sheets("Sheet1").Name = "111" End Sub 任意のセルをダブルクリックして 必要な文字列(=シート名にしたい文字列)だけをコピーし、 マクロを実行(ショートカットキーを押下)するだけで サッと書き換わるイメージですが、実現可能でしょうか。 よろしくお願い致します。

  • 文字列によるファイルの特定とセルの参照

    エクセルで特定のセルの文字を結合して作成した文字列(ファイルパスとファイルを特定する文字列)を使って、指定したファイル(ブック)にあるセルを参照することはできますか。例えば、\\server\document\ファイル1という文字列をエクセルで作成してそのファイルにある特定のセルを参照したいのと考えています。どなたか教えてください。

  • セルにある文字列をファイル名にして、2ヶ所別のフォルダに保存するマクロ

    あるセル(A10)にある文字列をファイル名にして、2ヶ所のフォルダに 保存するマクロを教えてください。 下記質問で番号(下記アドレス参照)を採番した後、その番号をファイル 名として、2ヶ所のフォルダに保存したいのです。 http://oshiete1.goo.ne.jp/qa3195270.html マクロ初心者ですが、そのような事がマクロで出来ますか? 出来るならば、その方法を教えてください。よろしくお願いします。

  • VBAのDIR関数でファイル名「0005」などが「5」だけにならない様にするには?

    あるフォルダ内に有るファイル郡の名称をDir関数で取得してExcelのシートのA列に並べるマクロなんですが、0で始まる数字のファイル名の場合、セルには0が省かれて入ってしまいます。 0011なら0011とそのままセルに入れるには(文字列として入れるには?)、マクロはどう書けばいいんでしょうか? 

  • エクセル2007 別ファイル参照

    A列に入力されてる文字列をクリックしたら、別フォルダに登録されているA列に入力されている文字列と同名のファイルを開きたい。 A列 1   → 別フォルダにある、1というファイルを開く。 ABC → 別フォルダにある、ABCというファイルを開く。  別フォルダとは、特定のフォルダになります。

  • Telnetコマンド/ディレクトリ内の複数ファイルの中から特定の文字列を置換したい

    TelnetでLinuxにログインしています。 ディレクトリ内の複数ファイルの中から特定の文字列を置換したいのですが、その方法(コマンド)がわかりません。 例えば、/webディレクトリ内にある全ファイルの中から、「abc」という文字列を見つけて、それを「xyz」に置換したいのです。 どうぞ、ご指南の程、宜しくお願い致します。

専門家に質問してみよう