対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016
このサイト・インストラクターのネタ帳のアクセスログを眺めていて、
「vba 他のブックとのリンク有無」
という検索キーワードに気がつきました。
他のブックへのリンクが存在するかどうかを、Excel VBA(Visual Basic for Applications)で調べるには、どのようなコードを書けばいいのかを探していた方による検索です。
[スポンサードリンク]
他のブックへのリンクがあるかを調べるサンプルマクロ
以下のようなSubプロシージャで、アクティブなブックに、他のブックへのリンクがあるかを調べられます。
Sub 他のブックへのリンクがあるかを調べる()
If IsArray(ActiveWorkbook.LinkSources(xlExcelLinks)) Then
MsgBox "他のブックへのリンクがあります!"
Else
MsgBox "他のブックへのリンクは存在しませぬ。"
End If
End Sub
If IsArray(ActiveWorkbook.LinkSources(xlExcelLinks)) Then
MsgBox "他のブックへのリンクがあります!"
Else
MsgBox "他のブックへのリンクは存在しませぬ。"
End If
End Sub
サンプルマクロの解説
WorkbookオブジェクトのLinkSorcesメソッドを使うと、他のブックへのリンクがあるかどうかを調べられます。
他のブックへのリンクが存在するときに、Workbook.LinkSorcesメソッドに、定数・xlExcelLinksを指定すると、リンク情報を配列として返します。
ですから、Workbook.LinkSorcesメソッドの戻りが配列でなければ、リンクが存在しないと判断できます。
それが、
If IsArray(ActiveWorkbook.LinkSources(xlExcelLinks)) Then
という条件分岐です。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » Workbooks・Workbook » 他のブックへのリンクがあるかを調べるExcelマクロ