Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » Excel VBAでリンクの有無を確認する

Excel VBAでリンクの有無を確認する

対象:Windows 11 Home + 64bit Excel バージョン 2501(ビルド18407.200002クイック実行)ベータチャネル

「vba 他のブックとのリンク有無」
「excel vba 関連ドキュメント リンク有無」
といった検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがありました。

他のブックへのリンクが存在するかどうか等を、Excel VBA(Visual Basic for Applications)で調べるには、どのようなコードを書けばいいのかを探していた方による検索です。

[スポンサードリンク]

リンクの有無を確認するサンプルマクロ

以下のExcelマクロを参考にしてください。

Sub リンクの有無を確認する()
 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

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » Excel VBAでリンクの有無を確認する

「Workbooks・Workbook」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.