戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
ファイル名から親フォルダ名を取得する方法

    [195639] ファイル名から親フォルダ名を取得する方法-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ ことり -(2023/02/26(19:07))
    □U R L/

      Excelのセルにファイル名だけが書かれていて、そのファイル名のフルパスを取得するということは可能でしょうか?

      つまり、VBAで、ファイル名から親フォルダ名を取得する方法というものがありますでしょうか?

      どなたかご存じの方がいれば、ご教示の程宜しくお願い致します。




    [195640] Re[1]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ MK -(2023/02/26(22:21))
    □U R L/

      ファイルのフルパスではなくファイル名だけ
      ですか?
      フルパスだったら親フォルダを取得するのは
      簡単ですが、ファイル名だけでしたら直接には
      無理です。
      迷子が道行く人に私の家はどこですか?と聞いて
      いるようなものです。
      そんなときは、警察署などにつれていき、調べて
      もらうとおもいます。
      ファイルの場合は、ファイル名でウィンドウズ
      の検索機能で検索します。
      マクロでも、検索する方法はいくつかあるとおもい
      ます。




    [195641] Re[2]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ ことり -(2023/02/26(22:50))
    □U R L/

      MKさん、ご回答ありがとうございました。

      やはり無理ですか。

      発想としては、FileSystemObjectで、

      GetParentFolderNameや、GetFolderメソッド、あるいは、GetOpenFilenameメソッドなどを使って、フォルダ名をワイルドカードにして、

      xxx = activecell.value
      "C:\*\*\*" & xxx & ".jpg"

      などという方向でいけないものかと、ずっと試行錯誤しているのですが、全くうまくいきません。

      ちょっと難しいですかね。これが出来たら可能性が広がるのですが、やっぱり無謀ですか?




    [195642] Re[3]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2023/02/27(08:33))
    □U R L/

      >"C:\*\*\*" & xxx & ".jpg"

      検索範囲は、実際もCドライブ全体なのでしょうか。




    [195643] Re[4]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ ことり -(2023/02/27(09:02))
    □U R L/

      マナさん、返信ありがとうございます。

      いえ、もうちょっと下のほうの階層のフォルダなのですけど、
      可能でしょうか?

      Cドライブの中に作った、画像だけを集めたフォルダです。




    [195644] Re[5]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ ことり -(2023/02/27(09:25))
    □U R L/

      説明不足でしたので追加です。

      Cドライブの中の、マイピクチャー内に複数のフォルダが作られていて、それぞれのフォルダ内にもさらに階層になってフォルダがあります。画像がどのフォルダにあるかが特定できない。

      ファイル名から、どのフォルダに存在するかを速やかに探すために、画像のフルパスを取得する方法がないかと模索しているのですが。
      難しい課題です。




    [195645] Re[6]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2023/02/27(14:12))
    □U R L/
      特殊フォルダーのパスを取得するVBScript
      ht tps://www.ka-net.org/blog/?p=3782
      
      Sub test()
          Dim fdg As FileDialog
          Dim p As String, cmd As String
          
          Set fdg = Application.FileDialog(msoFileDialogFolderPicker)
          fdg.InitialFileName = CreateObject("Shell.Application").Namespace(39).Self.Path & "\"
          If Not fdg.Show Then Exit Sub
          
          p = fdg.SelectedItems(1) & "\" & ActiveCell.Value & ".jpg"
          cmd = "cmd /c dir """ & p & """ /b/s"
          MsgBox CreateObject("Wscript.shell").exec(cmd).stdout.readall
          
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [195646] Re[7]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ ことり -(2023/02/27(18:03))
    □U R L/

      マナさん、なんかすごいのを考えてくださって、ありがとうございます。

      見たことない部品が使われていて、見てるだけでワクワクする装置ですが、

      CreateObject("Shell.Aplication")の行のところで、
      「実行時エラー429: ActiveXコンポーネントはオブジェクトを作成できません。」と出て、はじかれます。

      参照設定などは全部チェックを入れましたが、いろいろ調べてるのですが、原因が見つかりません。

      環境はWindows10の、Office2003です。Officeが化石だからでしょうか?

      実行時エラー429をあちこち調べてるのですが、自分の実力では歯が立ちません。
      たぶんマナさんの環境の方では出来ていると思うのですが、何が原因なのでしょうか。




    [195647] Re[8]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2023/02/27(18:38))
    □U R L/

      申し訳ありません。
      タイプミスです。こっそり修正したのですが間に合いませんでした。

      Aplication

      Application




    [195648] Re[9]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ ことり -(2023/02/27(19:16))
    □U R L/

      マナさん、ありがとうございます。

      ああ、そうだったんですね。確かに修正される前の、Aplicationとなってました。
      自分でも何度も見ているのだから、自分で気づくべきでした。失礼致しました。

      ところで、Applicationに修正して実行すると、実行時エラーは出なくなったんですが、
      まず、「ピクチャ」フォルダの「参照」の画面が現れて、OKボタンを押すと、
      カラッぽのMsgboxが出るのですが、これはどういった使い方をするのでしょうか。

      何か操作が間違っているのでしょうか。




    [195649] Re[10]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2023/02/27(19:34))
    □U R L/

      > xxx = activecell.value
      > "C:\*\*\*" & xxx & ".jpg"

      activecellに入力されているファイル名のjpgファイルが
      選択したフォルダ(サブフォルダも含む)の中にあれば、
      フルパスで列挙されるはずです。





    [195650] Re[11]: ファイル名から親フォルダ名を取得する方法-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ ことり -(2023/02/27(20:25))
    □U R L/

      マナさん、やりました!完璧です。

      今度はこちらがファイル名をまちがって、拡張子付きの名前にしてしまってました。

      修正して、フルパスとれましたー!

      参照の画面が毎回現れるのは、KeybdEventのRETURNキーを挿入して出ないように出来ました。

      すごいですよね。こんなコンパクトなコードでいけるんですね。
      なぜこれでプルパスが取れるようになっているのか、まだ仕組みが全然分かっていないのですが、
      せっかくこんなすごい方法を教えてもらったのだから、精査して、理解できるようにしたいと思います。

      すごく勉強になりました。マナさんには以前にも教えていただいたことがあります。また教えてくださいね。

      なんか長いこと出来なかったことが出来るようになると、叫びたくなるほどうれしくなりますよね。

      どうもありがとう。感謝感激です。




    [195651] Re[12]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ MK -(2023/02/27(20:58))
    □U R L/

      コマンドプロンプトのDirコマンドは古くからあるコマンドですが、
      逆に強力です。
      使いこなすと強い味方になってくれると思います。
      ※私は使いこなせていません。

      ht tps://www.javadrive.jp/command/file/index1.html




    [195652] Re[13]: ファイル名から親フォルダ名を取得する方法-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ ことり -(2023/02/27(21:13))
    □U R L/

      MKさん、回答ありがとうございました。

      そうなんですね。Dirコマンドすごいですよね。
      私も使いこなせていません。

      私の発想では、フォルダ名をワイルドカードにして、ループで下の方の階層まで一つ一つ探していく、みたいなことを考えていました。
      それだと時間がかかりますが、Dirコマンドだと、一瞬でいけますね。

      このテクニックを応用したら、いろんなファイルの居場所をエクセルから探せますね。
      cmdの箇所を変えたら、複数のファイルの居場所を一瞬で発見できそうです。

      MKさんにもいろいろ教えていただいて勉強になりました。またよろしくお願いします。

      どうもありがとう。




    [195653] Re[14]: ファイル名から親フォルダ名を取得する方法-

    記事引用/メール受信=OFF■

    □投稿者/ マナ -(2023/02/28(08:36))
    □U R L/

      >環境はWindows10の、Office2003です

      2007以降使えなくなりましたが、それでもよければ
      ht tp://officetanaka.net/excel/vba/tips/tips36.htm



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G