ListExternalFileReferences and ReplaceReferencedDocument without Opening
Posted: Sat Nov 04, 2023 11:33 am
Can I get external links of a part without opening it, as the Solidworks application does with: File-Open-Links.
I want to replace a substring in the file name of a part that is referenced by the part being opened using the "swApp.ReplaceReferencedDocument" function.
It allows you to change links only for files that are NOT open.
I only know the function: swModDocExt.ListExternalFileReferences
which allows you to get external links from an already open document:
Set swModel As SldWorks.ModelDoc2
Set swModDocExt = swModel.Extension
I saw this https://help.solidworks.com/2021/englis ... ple_VB.htm, but here we already know in advance: sOldDoc and sNewDoc. And I want to find out: sOldDoc and if it contains the substring “MD22” then replace it with “MD33”. And it turns out that I need to load the file to find out if there are suitable external links in it, if so, modify them, then unload the file, then, as in the example, replace the external links and open the part file with already replaced external links.
I would like to do this: Knowing the path to the file, get an array of links to whom it refers to, if there is what I need there, replace the links and open the file.
I suspect that you will have to use FileOpenPreNotifyEventHandler to track the attempt to open the file, get the path to the file, and then you need to get external links without opening it.
I want to replace a substring in the file name of a part that is referenced by the part being opened using the "swApp.ReplaceReferencedDocument" function.
It allows you to change links only for files that are NOT open.
I only know the function: swModDocExt.ListExternalFileReferences
which allows you to get external links from an already open document:
Set swModel As SldWorks.ModelDoc2
Set swModDocExt = swModel.Extension
I saw this https://help.solidworks.com/2021/englis ... ple_VB.htm, but here we already know in advance: sOldDoc and sNewDoc. And I want to find out: sOldDoc and if it contains the substring “MD22” then replace it with “MD33”. And it turns out that I need to load the file to find out if there are suitable external links in it, if so, modify them, then unload the file, then, as in the example, replace the external links and open the part file with already replaced external links.
I would like to do this: Knowing the path to the file, get an array of links to whom it refers to, if there is what I need there, replace the links and open the file.
I suspect that you will have to use FileOpenPreNotifyEventHandler to track the attempt to open the file, get the path to the file, and then you need to get external links without opening it.