Sub ReLink()
Dim DrwDocument As DrawingDocument
Dim DrwSheets As DrawingSheets
Dim DrwSheet As DrawingSheet
Dim DrwView As DrawingView
Dim DrwTexts As DrawingTexts
Dim Text As DrawingText
Dim Fact As Factory2D
Dim Point As Point2D
Dim Line As Line2D
Dim Cicle As Circle2D
Dim Selection As Selection
Dim GeomElems As GeometricElements
Dim Part_name As String
Dim Drawing_name As String
Dim strFilePath As String
Dim documents1 As Documents
Dim partDocument1 As PartDocument
Dim Product1 As ProductDocument
Dim Number_View As Integer
Dim windows1 As Windows
Dim a As Integer
Dim b As Integer
Dim specsAndGeomWindow1 As SpecsAndGeomWindow
Set documents1 = CATIA.Documents
Set DrwDocument = CATIA.ActiveDocument
Set DrwSheets = DrwDocument.Sheets
Set Selection = DrwDocument.Selection
Set DrwSheet = DrwSheets.ActiveSheet
Set DrwView = DrwSheet.Views.ActiveView
Set DrwTexts = DrwView.Texts
Set Fact = DrwView.Factory2D
Set GeomElems = DrwView.GeometricElements
Set MyDrawingDoc = CATIA.ActiveDocument
MyDrawingDoc.Sheets.Item(1).Activate
Set windows1 = CATIA.Windows
Drawing_name = CATIA.ActiveWindow.Name
Number_View = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Count
If Number_View > 2 Then
strFilePath = CATIA.FileSelectionBox("Select the CATPart or CATProduct, that you want to relink to this drawing", "*.*", CatFileSelectionModeOpen)
If strFilePath = "" Then
Exit Sub
End If
a = InStr(strFilePath, "CATProduct")
b = InStr(strFilePath, "CATPart")
If a > 0 Then
Product1 = documents1.Open(strFilePath)
End If
If b > 0 Then
Set partDocument1 = documents1.Open(strFilePath)
End If
Dim Num_Janelas As Integer
Num_Janelas = windows1.Count
Dim Janelas_array()
ReDim Preserve Janelas_array(Num_Janelas)
For i = 1 To Num_Janelas
Janelas_array(i) = windows1.Item(i).Name
If Janelas_array(i) = Drawing_name Then
Set specsAndGeomWindow1 = windows1.Item(Janelas_array(i))
specsAndGeomWindow1.Activate
End If
Next
For i = 3 To Number_View
Set DrwView = CATIA.ActiveDocument.Sheets.ActiveSheet.Views.Item(i)
' access links collection
Dim oGenLinks As DrawingViewGenerativeLinks
Dim linkedDocument
DrwView.GenerativeLinks.RemoveAllLinks
If a > 0 Then
DrwView.GenerativeLinks.AddLink Product1
End If
If b > 0 Then
DrwView.GenerativeLinks.AddLink partDocument1
End If
'DrwView.GenerativeLinks.AddLink
Next
Else
MsgBox ("There is no view to change links")
End If
End Sub