HOME > 即効テクニック > Excel VBA > ファイル操作関連のテクニック > 他ブックとのリンク情報取得、変更

即効テクニック

ファイル操作関連のテクニック

他ブックとのリンク情報取得、変更

(Excel 97/2000)
グラフのデータソース、”形式を選択して貼り付け”実行時の”リンク貼り付け”、カメラ機能の実行等、リンク元が他ブックである場合の、リンク情報の取得は手動の場合、メニューから”編集”−”リンクの設定”で確認できます。

VBAによってこれらの情報を取得する場合にはLinkSourcesメソッドを用います。

(サンプル)
Sub GetLinkInfromation()

Dim Var As Variant
Dim Msg As String
Dim i As Integer

Var = ActiveWorkbook.LinkSources(xlExcelLinks)

For i = 1 To UBound(Var)
    Msg = Msg & Var(i) & vbCrLf
Next i

MsgBox Msg

End Sub
また、リンクの変更を行うにはChageLinkメソッドにより、リンク元ブックのフルパス、変更先ブックのフルパスを指定します。
次の例では現在のリンク情報を自ブックに設定することにより、リンクを切断します。

Sub ChLink()

ActiveWorkbook.ChangeLink _
    Name:="C:\TEST.xls", _
    NewName:=ActiveWorkbook.FullName, _
    Type:=xlLinkTypeExcelLinks

End Sub

※Name引数には必ずLinkSourcesメソッドで取得できるリンク元を指定します。
 NewNameで指定したブックにはリンク元同名のワークシートが必要です。