「vba 他のブックとのリンク有無」
「excel vba 関連ドキュメント リンク有無」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。
他のブックへのリンクが存在するかどうか等を、Excel VBA(Visual Basic for Applications)で調べるには、どのようなコードを書けばいいのかを探していた方による検索です。
リンクの有無を確認するサンプルマクロ
以下のExcelマクロを参考にしてください。
If IsEmpty(ActiveWorkbook.LinkSources) Then
MsgBox "リンクはありません。"
Else
MsgBox "何らかのリンクがあります!"
End If
End Sub
アクティブなブックにリンクがあれば
「何らかのリンクがあります!」
リンクが無ければ
「リンクはありません。」
とメッセージが表示されます。
サンプルマクロで行っている処理
Workbookオブジェクトに用意されているLinkSourcesメソッドを使うと、
ブックに含まれるリンクの配列を取得できます。
リンクが存在しないときにWorkbook.LinkSourcesメソッドはEmpty値を返します。
上記のマクロでは、VBAのIsEmpty関数を使って、
アクティブなブックにリンクが存在するかどうかを調べて、
If IsEmpty(ActiveWorkbook.LinkSources) Then
表示するメッセージを切り替えています。
ブックへのリンクがあるかどうかを調べる
上記のマクロでは、OLEリンクがある場合も「何らかのリンクがあります!」と判定されます。
ブックへのリンクのみを判定したい場合は、Workbook.LinkSourcesメソッドの引数に、XlLink列挙型に定義されている定数xlExcelLinksを指定して、
If IsEmpty(ActiveWorkbook.LinkSources(xlExcelLinks)) Then
としてください。
最終更新日時:2025-1-31 16:41
- Newer: PhotoshopのCtrl+Alt系のショートカットキー一覧
- Older:Photoshopで画像のサイズや解像度を変更する
Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » Excel VBAでリンクの有無を確認する