見出し画像

探すファイルのリンク一覧をつくる

仕事(?)を教えて貰う

このフォルダにAの処理のファイルのファイルがはいっています
B処理フォルダには・・・、それから次のフォルダには・・・

A処理では、フォルダに前回にやったものが保存してありますので、
それを探して、それを開いて・・・
ハイ(はぁ、いつもの)これ(の繰り返し)ですね

〇〇フォルダのなかから〇〇ファイルを探して。は仕事?

確かに仕事です。
手を動かし目で探せば、ミスも少ないかもしれません。
まあ、これから紹介する方法を見せても、反応の大半が
なぜ、そこまでするの?他の人も出来ないようだと後で困るじゃあ?
(自分はスゴイねと言って貰いたかったのかなーと落ち込んだりする)
もとより、システム化を推進する会社の方にはオススメしません。
でも、これから行う仕事で、同じこと繰り返すことが苦手で、ユーツになる方はご検討ください。

ExcelVBAは、プログラミングが初めて方には、他の言語に比べて断然ハードル低い。ここでは説明省略。noteにいっぱいある(筈)

①エクセルが入ったPC(アマゾンでポチってインストールするとか)
②○○.xlsmのファイルを作る
②エクセルの開発タブを表示させ、標準モジュールを作る
③VBAのエディターでsub  名前()  と入力 enterをおしてEnd Subを表示 
④作成したVBAをボタンを作成し割り当てる
他の言語に比べ、入門ハードル低いのがExcelの特徴です。
noteの先輩方、紹介させていただきますので、ご一報ください。

ExcelとAccessのアプリ塾 さん
Excel でマクロ(VBA)を書く
https://note.com/muramoto1041/n/n9aefb11b5ed5

1.エクセルシートをこうして。やっと本題で、すみません。

①探すフォルダの場所(ディレクトリ)
②検索ワード
③ファイル名とリンクを書き出すエリアを決める
④VBA(マクロ)を動かすボタンを設置する

12行目より下:自動で書き出してくれます

2.標準モジュールにコードをコピペ

Sub リンク一覧作成()

    Application.ScreenUpdating = False 'スクリーンOFF

    Sheets("Sheet1").Select  'シートの選択
    
    '前に書き出した一覧表クリア
    maxRow = Range("C65536").End(xlUp).Row
    If maxRow >= 12 Then
        Range(Cells(12, 3), Cells(maxRow, 4)).Select
        Selection.ClearContents
    End If
    Range("C12").Select

    '一覧表をつくる------------------------------------始まり
    
    'ターゲットのフォルダ名:ディレクトリ名
    pt = Range("C5")
    '検索ワード
    word_s = Range("C8")
    '書き出し行
    gyo = 12
    
    fn = Dir(pt & "\*.*") '1個目のファイル名を格納

    Do While fn <> ""
    
        If InStr(fn, word_s) > 0 Then  '検索ワードが含まれる場合に
            Cells(gyo, 3) = fn   'ファイル名を書き出し
            'ハイパーリンクの設定 Cells(gyo, 4) = pt & "\" & fn だけでも良い場合も
            ActiveSheet.Hyperlinks.Add anchor:=Cells(gyo, 4), Address:=pt & "\" & fn
            gyo = gyo + 1
        End If
        
        fn = Dir() '2個目以降のファイル名を格納
        
    Loop
    
    '一覧表をつくる------------------------------------終わり

    Application.ScreenUpdating = True 'スクリーンON
    
End Sub

3.動いてるトコロはこんなカンジ

完全手動でフォルダの中を探してファイル開くより速いと。
自分はストレス軽減のほうに意味ありますが。

4.補足

不明点は、ご連絡いただいて結構です。
(すぐにとか、直接)お答えできないときはすみません。
note初心者なんで、noteのコミュニケートの方法よく分かりませんが ^^;
Twitterでも。どのツイートでも返信に「noteを見た」で良いです。
出来高急増!@assist_life https://twitter.com/assist_life

上手くファイル名拾えないことありますか?
自分がやっても上手くいかないこと一杯ありますよね。
その自分のコピーロボットです。
少しでもアシストしてくれようとしてくれる、自分のロボットです。


この記事が気に入ったらサポートをしてみませんか?