大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAを使って、ショートカットファイルの作成や、リンク先の取得と変更をするには、「CreateShortCut」を使うとできます。保存しているデータのドライブが変更された場合に、ショートカットのリンク先を変更したい場合に使えます。ショートカットの操作について、マスターしていきましょう。

はじめに

この記事では、ショートカットファイルの作成方法と、リンク先の取得と変更方法について、ご紹介します。

ショートカット操作したい場合は、「CreateShortCut」を使うとできます。

ショートカットのリンク先の設定は、「.TargetPath」にリンク先のフォルダパスを入力して、「.Save」で保存することで設定することができます。

保存しているフォルダのドライブが変更された場合など、ショートカットのリンク先を変更したい場合に便利に使えます。

ショートカットの操作についてマスターしていきましょう。

では、ショートカットの作成と、リンク先の取得と変更について、解説していきます。

この記事を読むメリット

  • ショートカットファイルの作成と、リンク先の取得と設定する方法をマスターできます。

目次から見たい項目へ移動すると便利ですよ。

目次

ショートカットファイルの操作

ショートカットファイルの操作をする方法について、解説していきます。

ショートカットファイルの作成

まずは、ショートカットファイルを作成する方法です。

ショートカットファイルの操作は、「WScript.Shell」を使って「.CreateShortCut」を使うとできます。

手順としては、

  • 「.TargetPath」でリンク先のフォルダパスを指定
  • 「.Save」で保存

という流れです。

ショートカットファイルを作成するVBAコードは、次のようになります。

Sub TEST1()
  
  Dim A, B
  A = ThisWorkbook.Path & "\TEST\ショートカット.lnk" 'ショートカットのファイルパス
  B = ThisWorkbook.Path & "\TEST\TEST1" 'リンク先のフォルダパス
  
  With CreateObject("WScript.Shell").CreateShortcut(A)
    .TargetPath = B 'リンク先のフォルダパスの設定
    .Save '保存
  End With
  
End Sub

「TEST1」のショートカットファイルを作成します。

ショートカットを作成したい

ショートカット作成したいです

実行すると、ショートカットを作成できます。

ショートカットを変更できた

ショートカットを作成できました

ショートカットファイルを開くと、「TEST1」にリンクできていることがわかります。

「TEST1」にリンクできていることがわかります

「TEST1」にリンクできています。

ショートカットファイルのリンク先の取得

ショートカットファイルのリンク先の取得は、「.TargetPath」を使うとできます。

VBAコードは、次のようになります。

Sub TEST2()
  
  Dim A
  A = ThisWorkbook.Path & "\TEST\ショートカット.lnk" 'ショートカットのファイルパス
  
  With CreateObject("WScript.Shell").CreateShortcut(A)
    Debug.Print .TargetPath 'リンク先のフォルダパスの取得
  End With
  
End Sub

リンク先のフォルダパスを取得します。

リンク先のフォルダパスを取得したい

リンク先のフォルダパスを取得します

実行すると、リンク先のフォルダパスを取得できます。

リンク先のフォルダパスを取得できた

リンク先のフォルダパスを取得できました

リンク先のフォルダパスを取得できました。

ショートカットファイルのリンク先の変更

ショートカットファイルのリンク先の変更する手順は、ショートカットファイルの作成手順と同じです。

ショートカットファイルのリンク先を変更するVBAコードは、次のようになります。

Sub TEST3()
  
  Dim A, B
  A = ThisWorkbook.Path & "\TEST\ショートカット.lnk" 'ショートカットのファイルパス
  B = ThisWorkbook.Path & "\TEST\TEST2" 'リンク先のフォルダパス
  
  With CreateObject("WScript.Shell").CreateShortcut(A)
    .TargetPath = B 'リンク先のフォルダパスの変更
    .Save '保存
  End With
  
End Sub

同じ名前のショートカットファイルがあれば、リンク先が変更されて、なければ新規で作成されるという感じです。

リンク先を、「TEST2」に変更します。

リンク先を変更したい

「TEST2」にリンク先を変更したいです

実行すると、「TEST2」にリンク先を変更できます。

リンク先を変更できた

「TEST2」にリンク先を変更できました

「TEST2」にリンク先を変更できました。

ちょっと応用

ちょっと応用で、ショートカットのリンク先のトップフォルダを変更する、というのをやってみます。

リンク先のトップフォルダを変更

リンク先のトップフォルダを変更してみます。

手順としては、

  • フォルダ内の1つのショートカットファイルのパスを取得
  • フォルダ内のファイルをループ
  • ショートカットフォルダのリンク先を変更

という流れになります。

フォルダ内のショートカットファイルの、リンク先のトップフォルダを変更するVBAコードです。

Sub TEST4()
  
  Dim A
  '1つのファイルパスを取得
  A = Dir("C:\Users\user\Desktop\TEST\*")
  
  'すべてのファイルパスを取得
  Do While A <> ""
    'ショートカットファイルの場合
    If Right(A, 4) = ".lnk" Then
      With CreateObject("WScript.Shell").CreateShortcut("C:\Users\user\Desktop\TEST\" & A)
        'リンク先のフォルダパスを変更
        .TargetPath = Replace(.TargetPath, "C:\Users\user\Desktop\TEST\", "C:\Users\user\Desktop\変更後\")
        .Save '保存
      End With
    End If
    A = Dir() '次のファイルパスを取得
  Loop
  
End Sub

やりたい内容としては、リンク先のトップフォルダを変更したい、ということになります。

リンク先のトップフォルダを変更したい

すでに作成されているショートカットフォルダのリンク先を変更します。

リンク先のトップフォルダを変更したいです

リンク先のフォルダを「変更後」というフォルダに変更したいです。

リンク先のフォルダを「変更後」のフォルダに変更したいです

「変更後」のフォルダにリンク先を変更します。

「変更後」のフォルダにリンク先を変更します

実行すると、「変更後」のフォルダにリンク先を変更できます。

リンク先のトップフォルダを変更できた

ショートカットファイルを開いて、リンク先を確認してみます。

「変更後」のフォルダの「TEST1」にリンクできていることがわかります。

「変更後」のフォルダにリンク先を変更できました

「変更後」のフォルダの「TEST2」にも、リンクできていることがわかります。

「変更後」のフォルダにリンク先を変更できました

ショートカットのトップのリンク先を変更するテクニックは、保存するデータのドライブを変更したい場合に使えます。

おわりに

この記事では、ショートカットファイルの作成方法と、リンク先の取得と変更方法について、ご紹介しました。

ショートカット操作したい場合は、「CreateShortCut」を使うとできます。

ショートカットのリンク先の設定は、「.TargetPath」にリンク先のフォルダパスを入力して、「.Save」で保存することで設定することができます。

保存しているフォルダのドライブが変更された場合など、ショートカットのリンク先を変更したい場合に便利に使えます。

ショートカットの操作についてマスターしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

サイト内を検索する

↓キーワードを入力する

アーカイブから探す