2017年9月25日

【Access】VBAでデスクトップ上にショートカットを作成してアイコンを変更する


作成したAccessのファイル(accdbファイル)のショートカットをデスクトップ上に作成して、さらにアイコンも変更したいといったことがあると思います。そういった場合、たいていは手動で作成すると思うのですが、accdbファイルのファイル名が変更になってしまったりするとその都度ショートカットを作り直さなければいけません。

そこで、デスクトップへのショートカット作成とアイコンの設定をVBAで自動で行うようにしてみます。

たとえば、「見積書.accdb」というファイルがあったとします。このファイルを開いたときに自動でデスクトップ上にショートカットを作成してみたいと思います。また、ショートカットのアイコンも下記のアイコンに変更してみます。


見積書のイラスト | かわいいフリー素材集 いらすとや

Public Function Main() As Boolean

    Dim shell As Object
    Dim shortCut As Object
    Dim linkFile As String
    Dim desktopPath As String
    
    'WshShellオブジェクトを作成
    Set shell = CreateObject("WScript.Shell")

    'デスクトップフォルダのパスを取得
    desktopPath = shell.SpecialFolders("Desktop")
    
    'ショートカット名
    linkFile = desktopPath & "\見積書.lnk"
    
    'ショートカットへのオブジェクトを作成
    Set shortCut = shell.CreateShortcut(linkFile)
    
    'リンク先パス設定
    shortCut.TargetPath = CurrentProject.FullName
    
    'アイコンファイルパス設定
    shortCut.IconLocation = CurrentProject.Path & "\" & "document_mitsumorisyo.ico"
    
    'ショートカットを保存
    shortCut.Save
    
    Set shortCut = Nothing
    Set shell = Nothing

    Main = False
    
End Function
WshShellオブジェクトのCreateShortcutメソッドを使ってショートカットの作成を行っています。
アイコンは、IconLocationプロパティで設定することが出来ます。

このMain()プロシージャをAccessファイルを開いたときに実行するようにAutoExecマクロで設定します。
AutoExecマクロの詳しい設定方法はこちらをご覧ください。


では、ファイルを開いてみます。

このように自動でショートカットが作成されます。







スポンサーリンク