概要 - 外部参照を再ロードする(VBA/ActiveX)

外部参照がアタッチされたホスト図面で作業中に、外部参照された図面が修正された場合は、Reload メソッドを使用してその外部参照図面を更新することができます。

再ロードすると、ホスト図面内で選択した外部参照図面が更新されます。また、外部参照をロード解除した場合でも、外部参照図面はいつでも再ロードすることができます。

外部参照定義を再ロードする

次の例では、外部参照をアタッチしてから、再ロードします。この例では、Sample フォルダにある 3D House.dwg ファイルを使用します。このイメージが存在しない場合や、別のフォルダにある場合は、変数 PathName に有効なパスおよびファイル名を指定してください。

Sub Ch10_ReloadingExternalReference()
 On Error GoTo ERRORHANDLER

 ' Define external reference to be inserted
 Dim xrefHome As AcadBlock
 Dim xrefInserted As AcadExternalReference
 Dim insertionPnt(0 To 2) As Double
 Dim PathName As String
 insertionPnt(0) = 1
 insertionPnt(1) = 1
 insertionPnt(2) = 0
 PathName = "c:/Program Files/Autodesk/AutoCAD release/3D House.dwg"
 
 ' Add the external reference to the block
 Set xrefInserted = ThisDrawing.ModelSpace. _
 AttachExternalReference(PathName, "XREF_IMAGE", _
 insertionPnt, 1, 1, 1, 0, False)
 ZoomAll
 MsgBox "The external reference is attached."
 
 ' Reload the external reference definition
 ThisDrawing.Blocks.Item(xrefInserted.name).Reload
 MsgBox "The external reference is reloaded."
 Exit Sub
ERRORHANDLER:
 MsgBox Err.Description
End Sub