[[20180607212936]] 『先輩に頂いた便利ファイルを改造したいです。』(ぺけぽんた) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『先輩に頂いた便利ファイルを改造したいです。』(ぺけぽんた)

先輩に頂いた便利ファイルを改造したいです。

ファイル一覧を作るエクセルファイルを辞めた先輩に貰って
ずっと使っていたんですが、毎回フォルダの階層をクリックするのが
大変なので、アドレスバーからアドレスを入力する方法に変えたいのですが
可能でしょうか?
コードがいっぱいあるのでどこを直せばいいのかわからないのですが
下図の文字が表示されていたのでここかなと思うところを貼り付けています。

→"ルートフォルダを指定して下さい。", True)

マクロはさっぱりなので、どなたかお力をお貸しください。
宜しくお願いします。

Sub SEARCH_FOLDER2()

    Dim objFSO As FileSystemObject
    Dim strPathName As String
    Dim crnTIME1 As Currency                        ' 処理時間
    Dim crnTIME2 As Currency                        ' 処理時間

    ' ルートとなるフォルダの指定(※modFolderPicker1.bas)
    strPathName = modFolderPicker1.FolderDialog( _
        "ルートフォルダを指定して下さい。", True)
    If strPathName = "" Then Exit Sub
    ' 処理開始
    Cells.ClearContents
    ' 処理開始時刻の受領
    crnTIME1 = FP_GET_SYSTIME                       ' 開始時刻
    Set objFSO = New FileSystemObject           ' FSO
    ' ルートフォルダから探索開始
    Call SEARCH_SUB_FOLDER2(objFSO.GetFolder(strPathName), 0, 0)
    ' 参照OBJECTを破棄
    Set objFSO = Nothing
    ' 処理時間の算出
    Application.DisplayCommentIndicator = xlCommentIndicatorOnly
    crnTIME2 = FP_GET_SYSTIME - crnTIME1            ' 終了時刻-開始時刻
    ' 処理完了(結果表示)
    MsgBox "処理が完了しました。" & vbCr & vbCr & _
        "フォルダ数=" & Format(g_cntPATH, "#,##0") & _
        ", ファイル数=" & Format(g_cntFILE, "#,##0") & vbCr & _
        "(処理時間=" & Format(crnTIME2, "#,##0.000") & "秒)", vbInformation
End Sub

< 使用 Excel:Excel2007、使用 OS:Windows7 >


>アドレスバーからアドレスを入力する方法
というのをもっと詳しく説明してはどうですか?

(γ) 2018/06/07(木) 21:56


 >毎回フォルダの階層をクリックするのが
 >大変なので、アドレスバーからアドレスを入力する方法に変えたい
そうなんですか?
複雑な文字列を打つのは大変かとお思いますし、
1文字でも間違えたら検索できないですよね?
選択するのが間違いがないかと思いますが。。。
例としてどのような文字列を入力するつもりでしょうか?
こちらが興味ありますので、参考までに教えてください。
あと、アドレスバーですが自作か何かで入力フォームを作るのでしょうか?
単にインプットボックスではだめでしょうか?
https://kosapi.com/post-1135/

それから、初期でいつも開くフォルダーを設定することは可能かと思いますが、
そちらの方法はいかがでしょうか?

(まっつわん) 2018/06/07(木) 21:58


お二人ともありがとうございます

インプットボックス。理想的な感じです!

一文字でも間違えたら、と仰って頂きましたがアドレスを控えておいて
アドレスバーにコピーアンド貼り付けをする予定です。

インテリア関係のデータを纏めているので兎に角階層が多いのです。
室内インテリア→カーテン→グループ→業者→カテゴリ→素材→カラー→サイズ
と言った感じで多いものは20階層位あります。

初期設定できるのであれば一番よく使うアドレスを入れておいて
違う場所を設定する時には入力し直すとか可能でしょうか?

よく使うアドレスは、テキストファイルにメモっているので間違いは無いのかなと思っています。
このような説明で大丈夫でしょうか?
(ぺけぽんた) 2018/06/07(木) 22:28


http://www.asahi-net.or.jp/~ef2o-inue/download/sub09_020_110.html
が元のコードです。先輩はそれを応用しただけでしょう。
そこに初期フォルダを指定する方法が書いてあります。
固定であれば、それを指定し、
変更があったらコード中の指定箇所を変更すればいいでしょう。

(γ) 2018/06/07(木) 22:38


 >よく使うアドレスは、テキストファイルにメモっているので間違いは無いのかなと思っています。
なるほどー
ならば、シート上にパスの一覧的なものを作っておいてそこから選択出来たら
いいんじゃないかと思いますが、まるっきり新しくなるんで、
そうなるとつらいですかね?
まぁインプットボックスもそんなに難しくないとはいえ、
触ったことのない人にとっては未知の世界でしょうから、
迷子になる確率高いかもですよねー。
サンプル書くのもそんな難しくはないんですが、
書いてあげたところで要望を満たしている、満たしてないで、
お互い労力は使いたくないとおもうので、いま、何とかなってるんだったら、
それを我慢して使う方がストレスは少ないんじゃないかと、、、

(まっつわん) 2018/06/07(木) 23:19


γさん
リンクありがとうございます。
見てみたのですが、驚くほどコードが一緒でした。
昨日、一日読んでみましたが書いてあることがすごく難しかったので
どこを修正してよいかわかりませんでした。
しばらく、読みながら試してみたいと思います。

まっつわんさん
お返事ありがとうございます。

シート上にパスの一覧的なものを・・・すごい理想ですが
今のコードも碌に触れないのでつらいと思います。。。
取り合えず、しばらくこのままでγさんに教えてもらった
サイトで少しづつ理解した方が良さそうですね。
(ぺけぽんた) 2018/06/09(土) 13:01


 えーと、極論すると
   ' ルートとなるフォルダの指定(※modFolderPicker1.bas)
    strPathName = modFolderPicker1.FolderDialog( _
        "ルートフォルダを指定して下さい。", True)
 の部分をすべてコメントにして(無効化して)
    strPathName = Worksheets("パス設定用").Range("A1").Value
 などを代わりに実行してはどうですか?

 必要に応じて、"パス設定用"というシートのA1セルの対象パス名を変更するようにしては?

(γ) 2018/06/10(日) 08:33


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.