デスクトップ上のファイルを整理する(マクロでExcelシートを切り替えたり他のファイルやウェブサイトを開く)

ファイル管理の効率化

デスクトップがファイルでいっぱいに

 仕事上(総務の仕事をしている)、社員の異動関係の情報や日々のいろいろな出来事を記録として残さなければいけません。記録項目が多いのに個々の発生頻度が低いものが多いので、気づいたときにはデスクトップがファイルでいっぱいに! 保存したはずのファイル(アイコン)がデスクトップからはみ出てしまってどこに行ったかわからない!

 目的のファイルを探す時間がもったいないので、整理してみようと思いました。

やりたいこと

 Excelにインデックスシートを作って、必要なファイル等をインデックスシートから呼び出せるようにしたい。

Excelシートを切り替える

Excelファイルを集約し「indexシート」を作成

 「ファイル管理」というファイル(Excel)を作成して、デスクトップ上のExcelファイルをこれに集約して(集約しても問題のないものだけ)、「ファイル管理」ファイルの中に「index」シートを作成する。

シートを切り替えるマクロを作成

  標準モジュールにシートを切り替えるマクロコードを書く。

'※標準モジュールに記入
Sub sample1()
    Worksheets("sample1").Activate
End Sub

Sub sample2()
    Worksheets("sample2").Activate
End Sub

Sub sample3()
    Worksheets("sample3").Activate
End Sub

Sub sample4()
    Worksheets("sample4").Activate
End Sub

Sub sample5()
    Worksheets("sample5").Activate
End Sub

Sub sample6()
    Worksheets("sample6").Activate
End Sub

Sub sample7()
    Worksheets("sample7").Activate
End Sub

Sub sample8()
    Worksheets("sample8").Activate
End Sub

Sub sample9()
    Worksheets("sample9").Activate
End Sub

Sub sample10()
    Worksheets("sample10").Activate
End Sub

indexシートにフォームコントロールボタンを配置しマクロコードを関連付ける

「開発」タグの「挿入」ボタンからフォームコントロールの「ボタン」を選択して、「index」シート上にボタンを配置する

ボタンを配置すると自動的にコードとの関連づけのダイヤログが開くので、ボタンに対応するマクロコードを選択する

※詳細は動画を参照ください

右クリックメニューの中に「indexシートに戻る」コマンドを追加する

indexシートに戻るために、右クリックメニューの中にコマンドを追加します。

右クリックメニューへのコマンド追加は、Excelブックを閉じてもその効果が残るので、追加と削除をセットにしてコードを書いています。

メニュー追加のマクロは、ブックを開いたときに実行されます。また、ブックを閉じるときにメニューから削除するマクロが実行されます。

最後に標準モジュールにindexシートを開くマクロコードを記入します。

'※Thisworkbookモジュールに記入
Private Sub Workbook_Open()
    Dim cmdBar1 As CommandBarControl
    For Each cmdBar1 In Application.CommandBars("cell").Controls
        If cmdBar1.Caption = "indexに戻る" Then
            cmdBar1.Delete
        End If
    Next
    
    With Application.CommandBars("cell").Controls.Add
        .Caption = "indexに戻る"
        .OnAction = "index"
    End With

End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Dim cmdBar1 As CommandBarControl
    For Each cmdBar1 In Application.CommandBars("cell").Controls
        If cmdBar1.Caption = "indexに戻る" Then
            cmdBar1.Delete
        End If
    Next

End Sub
'※標準モジュールに記入
sub index()
  worksheets("index").activate
end

実は、、、

 わざわざマクロを組まなくても、シートを簡単に切り替える方法がありました(↓動画参照)

ファイル・フォルダ・URLを開く

特定のファイル、フォルダ、URLを開くときは、ハイパーリンク機能を使います。

ファイルを開く

標準モジュールにファイルを開くコードを書きます。コードを書く際に、開きたいファイルの「フルパス」を使うので、予めコピーしておきます。

フルパスのコピーの手順は、エクスプローラーの「ホーム」タグ内の「パスのコピー」をクリックするか、ファイルのプロパティの「セキュリティ」タグ内の「オブジェクト名」をコピーしてください。

'※標準モジュールに記入
Sub word_sample1()
    ActiveWorkbook.FollowHyperlink Address:="●●フルパス●●"
End Sub

Sub bmp_sample1()
    ActiveWorkbook.FollowHyperlink Address:="●●フルパス●●"
End Sub

Sub pdf_sample1()
    ActiveWorkbook.FollowHyperlink Address:="●●フルパス●●"
End Sub

最後に、indexシートにフォームコントロールボタンを配置しマクロコードを関連付けます(3.3参照)。

フォルダを開く

フォルダを開く操作もファイルを開く操作と同じです。標準モジュールにハイパーリンクのコードを記入して、インデックスシートにフォームコントロールボタンを配置して関連づけます。

'標準モジュールに記入
Sub folder_sample1()
    ActiveWorkbook.FollowHyperlink Address:="●●フルパス●●"
End Sub

Sub 書庫()
    ActiveWorkbook.FollowHyperlink Address:="●●フルパス●●"
End Sub

URLを開く

URLを開く操作もファイル・フォルダを開く操作と同じです。ただし、ファイルのフルパスの代わりにURLを記入します。

'※標準モジュールに記入
Sub yahoo()
    ActiveWorkbook.FollowHyperlink Address:="https://www.yahoo.co.jp/"
End Sub

Sub google()
    ActiveWorkbook.FollowHyperlink Address:="https://www.google.co.jp/"
 
End Sub

作業スペースを広くする

仕事で使うノートパソコンの画面は14インチなので、Excelのリボンやスクロールバー等に場所を取られてしまうので、これらを消してしまいます。もちろん必要な時にはすぐに出せるように手当もお忘れなく。

'標準モジュールに記入
Sub funktion_off()
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", false)"
    Application.DisplayFormulaBar = False
    ActiveWindow.DisplayVerticalScrollBar = False
    ActiveWindow.DisplayHorizontalScrollBar = False
    ActiveWindow.DisplayHeadings = False
    ActiveWindow.DisplayWorkbookTabs = False
End Sub

Sub funktion_on()
    Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"", True)"
    Application.DisplayFormulaBar = True
    ActiveWindow.DisplayVerticalScrollBar = True
    ActiveWindow.DisplayHorizontalScrollBar = True
    ActiveWindow.DisplayHeadings = True
    ActiveWindow.DisplayWorkbookTabs = True
End Sub

消すものは全部で5種類ありますが、消したいものをお選びください。

コメント

タイトルとURLをコピーしました