Vba 查找是否使用链接粘贴了Hybrishape';s的来源是否存在

Vba 查找是否使用链接粘贴了Hybrishape';s的来源是否存在,vba,shapes,catia,Vba,Shapes,Catia,我有几个几何图形是用链接粘贴的。我想知道这些形状的来源是否仍然存在。我找不到hybridshape的任何函数来执行此操作 在此图像中,第一个形状的源存在,但第二个形状的源被删除,如何区分它们 可以判断引用的文档是否存在 如果需要检查参照曲面是否仍然存在。。。不那么容易 以下是获取和检查链接文档的方法: Dim oStiEngine As StiEngine Set oStiEngine = CATIA.GetItem("CAIEngine") Dim oDoc As Document Set

我有几个几何图形是用链接粘贴的。我想知道这些形状的来源是否仍然存在。我找不到hybridshape的任何函数来执行此操作

在此图像中,第一个形状的源存在,但第二个形状的源被删除,如何区分它们


可以判断引用的文档是否存在

如果需要检查参照曲面是否仍然存在。。。不那么容易

以下是获取和检查链接文档的方法:

Dim oStiEngine As StiEngine
Set oStiEngine = CATIA.GetItem("CAIEngine")

Dim oDoc As Document
Set oDoc = CATIA.ActiveDocument

Dim oStiDBItem As StiDBItem
Set oStiDBItem = oStiEngine.GetStiDBItemFromCATBSTR(oDoc.fullName)

Dim ochildrenList As StiDBChildren
Set ochildrenList = oStiDBItem.GetChildren

Dim lChildrenNumber As Long
lChildrenNumber = ochildrenList.count

For i = 1 To lChildrenNumber

    Dim child As Variant
    Set child = ochildrenList.item(i)
    Dim linkType As String
    linkType = ochildrenList.linkType(i)
    Debug.Print vbTab & child.name & " " & child.GetDocumentFullPath & " " & linkType & " FILE " & IIf(CATIA.FileSystem.FileExists(child.GetDocumentFullPath), "EXISTS", "MISSING")

Next 
您可能需要特定的许可证才能使用StiEngine对象。SmartTeam本身不是必需的


您可能应该开始使用已发布的元素进行文档间链接,以使您的生活从长远来看更加轻松。有一个设置可以强制执行此操作

到目前为止,你在研究中发现了什么?