EBDN - Community - Question & Answers

  Wednesday, 02 June 2021
  2 Replies
  786 Visits
0
Votes
Undo
Hello!
About VBA in the drawing mosaic, unused devices are how to delete, my side of the code is as follows, I hope someone can point out.

Public Sub Test2021Run()
Dim selectProject As ObjectItem
Set selectProject = Application.Selection(1)
'If selectProject.SourceAssociations.Count <= 0 Then
' selectProject.Delete (False)
'End If

If selectProject.Children.Filter(aucObjEquipment).Count > 0 Then
Dim skequipment As ObjectItems
Dim skfunction As ObjectItems
Set skequipment = selectProject.Children.Filter(aucObjEquipment)
Dim devices As ObjectItems
Dim funcs As ObjectItems
Dim c1 As Integer
Set devices = skequipment(1).FindObjects(aucObjDevice, aucSearchDeep)

If devices.Count > 0 Then
For c1 = 1 To devices.Count
If c1 < devices.Count Then
Call DeleteDeviceFromAucDevices(devices(c1).SourceAssociations, devices(c1))
End If
Next c1
End If
End If
End Sub

‘function
Public Function DeleteDeviceFromAucDevices(sous As Associations, deviceObject As ObjectItem)
If sous.Count <= 0 Then ' Or deviceObject.Children.Count <= 0
deviceObject.Delete (False)
End If
Set deviceObject = Nothing
End Function

lucky