Dziękuję sbadenis!
Połączyłem dwa makra, które mi dałeś, ale nie mogę uzyskać pożądanego rezultatu. Moje makro debuguje wiersz "Set swDraw = swModel" i informuje mnie, że Swdraw = Nothing.
Nie rozumiem dlaczego? Oto moje zmodyfikowane makro.
Sub main()
Dim swApp jako SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swExportPDFData As SldWorks.ExportPdfData
Dim strFilename As Ciąg
Stan przyciemnienia Jako wartość logiczna
Domyślne błędy Tak długo, ostrzeżenia Tak długo
Dim swDraw jako SldWorks.DrawingDoc
Dim swView As SldWorks.View
Dim bRet As Boolean
Dim swconfig As String
Ustaw swApp = Application.SldWorks
Ustaw swModel = swApp.ActiveDoc
Ustaw swDraw = swModel
Debug.Print "Plik = " & swModel.GetPathName
' Pierwszy widok rysunku jest w rzeczywistości pierwszym arkuszem,
' więc pomiń pobieranie nazwy modelu i konfiguracji z
' arkusz
Ustaw swView = swDraw.GetFirstView
' Pobierz pierwszy widok rysunku w pierwszym arkuszu
Ustaw swView = swView.GetNextView
Zrób Póki Nie SwView To Nic
Debug.Print " Widok = " + swView.Name
Debug.Print " Model = " + swView.GetReferencedModelName
Debug.Print " Config = " + swView.ReferencedConfiguration
' Récupérez le nom de la configuration active de la vue en cours de traitement
swconfig = swView.ReferencedConfiguration
Ustaw swView = swView.GetNextView
Pętla
"Zapisz
status = swModel.Save3(swSaveAsOptions_e.swSaveAsOptions_Silent, błędy, ostrzeżenia)
'Eksportuj do pliku PDF, jeśli jest to rysunek
Jeśli (swModel.GetType = swDocDRAWING) Następnie
• Wygeneruj nazwę pliku PDF, używając nazwy aktywnej konfiguracji
strFilename = swModel.GetPathName
strFilename = Left(strFilename, Len(strFilename) - 6) & swconfig & ".pdf"
Ustaw swExportPDFData = swApp.GetExportFileData(1)
swModel.Extension.SaveAs strFilename, 0, 0, swExportPDFData, 0, 0
Zakończ jeżeli:
Koniec subwoofera
Jeśli ktoś wie, gdzie jest problem, byłbym zachwycony!
PS: Zaczynam w Makro od zeszłego tygodnia, nie mam jeszcze wszystkich podstaw