Hallo zusammen,
ich habe wieder ein kleines Makro Problem. Ich möchte die Zeichnungen aller Teile zu einer Baugruppe öffnen. Funktioniert auch soweit, mein Problem ist wenn ein einzelnes part in einer anderen Konfiguration abgespeichert wurde als es in der Baugruppe verwendet wird, öffnet sich die Zeichnung zu der abgespeicherten Konfiguration des parts. Hat einer eine Idee? Hier der Code:
...
If (FirstDoc.GetType = swDocASSEMBLY) Then
FirstDoc.ForceRebuild3 (True)
boolstatus = FirstDoc.ResolveAllLightWeightComponents(False)
swAllDocs.Reset
swAllDocs.Next 1, swDoc, NumDocsReturned
While NumDocsReturned <> 0
Set swConfigMgr = swDoc.ConfigurationManager
Set swConfig = swConfigMgr.ActiveConfiguration
If swDoc.GetTitle <> FirstDoc.GetTitle Then
PathName = swDoc.GetPathName 'Dateipfad des Teils incl. Dateiname bestimmen
Config = swConfig.Name + "-" 'Konfigurationsname des Dokuments
End If
swAllDocs.Next 1, swDoc, NumDocsReturned
'Zeichnungsnamen definieren
txtPathName = VBA.Left(PathName, Len(PathName) - 7) 'kpl. Dateipfad incl. Dateiname ohne Extender
Path = Left(PathName, InStrRev(PathName, "\")) 'den Pfad der Komponente ermitteln incl. "\"
FileName = Mid(PathName, InStrRev(PathName, "\") + 1, Len(PathName)) 'Dateiname mit Extender
FileName = VBA.Left(FileName, Len(FileName) - 7) 'Dateiname ohne Extender
DwgName = Config + ".SLDDRW" 'Namen mit Konfiguration und Extender
dwgPath = Path + DwgName 'kpl. Dateipfad incl. Dateiname, Konfiguration und Extender
'Zeichnung öffnen
Set myDwgDoc = swApp.OpenDoc6(dwgPath, swDocDRAWING, swOpenDocOptions_Silent, "", CloseErrors, CloseWarnings) 'Zeichnung wird geöffnet
'prüfen, ob gefunden
If myDwgDoc Is Nothing Then 'wenn keine Zeichnung gefunden wurde
Call MsgBox("Zeichnung nicht gefunden" & vbCrLf & dwgPath, vbSystemModal, "Information") 'Zeichnung nicht gefunden
End If
Wend
End If
...
------------------
Einen schönen Gruß, Thomas
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP