Oto rozwiązanie, które znalazłem:
Zgodnie z poradą stworzyłem mapy bazowe, usuwając dane, które mnie nie interesują.
Następnie zapisuję jako PDF i na koniec zamykam plik bez zapisywania:
Ustaw swApp = Application.SldWorks
Ustaw swModel = swApp.ActiveDoc
Ustaw swDrawing = swModel
'Sprawdź, czy plik jest otwarty
Jeśli swModel jest niczym, to
MsgBox ("Otwórz dokument")
Inaczej
Ustaw swSheet = swDrawing.GetCurrentSheet
'Pobiera nazwę bez rozszerzenia
nom_Fichier = Strings.Left(swModel.GetPathName, Strings.Len(swModel.GetPathName) - 7)
nom_Ouvrir = swModel.GetPathName
'Pobierz rozszerzenie
extension = Strings.Right(swModel.GetPathName, 7)
'Pobiera wszystkie nazwy arkuszy
vSheets = swDrawing.GetSheetNames
nb_Feuil = swDrawing.GetSheetCount
Jeśli (Not (IsEmpty(vSheets))) to
nom_Quitter = swModel.GetTitle
długość = Len(vSheets(0))
"Na wszystkie liście
Dla i = 0 Do UBound(vSheets)
'Funkcja pobierania formatów arkuszy
swDrawing.ActivateSheet (vSheets(i))
Ustaw swSheet = swDrawing.GetCurrentSheet
sheetProperties = swSheet.GetProperties
sheetScale = właściwości_arkusza(2) / właściwościArkusza(3)
paperSize = swSheet.GetSize(szerokość, wysokość)
"W zależności od formatu zmiana na inny format
Wybierz rozmiar papieru przypadku
Ramka 7
boolstatus = swModel.SetupSheet5(vSheets(i), 12, 12, sheetProperties(2), sheetProperties(3), True, sheetformatpath(4), width, height, "Default", True)
Ramka 8
boolstatus = swModel.SetupSheet5(vSheets(i), 12, 12, sheetProperties(2), sheetProperties(3), True, sheetformatpath(3), szerokość, wysokość, "Domyślnie", Prawda)
Ramka 9
boolstatus = swModel.SetupSheet5(vSheets(i), 12, 12, sheetProperties(2), sheetProperties(3), True, sheetformatpath(2), width, height, "Default", True)
Ramka 10
boolstatus = swModel.SetupSheet5(vSheets(i), 12, 12, sheetProperties(2), sheetProperties(3), True, sheetformatpath(1), szerokość, wysokość, "Domyślnie", Prawda)
Ramka 11
boolstatus = swModel.SetupSheet5(vSheets(i), 12, 12, sheetProperties(2), sheetProperties(3), True, sheetformatpath(0), szerokość, wysokość, "Domyślnie", Prawda)
Zakończ wybór
Dalej i
Zapisany jako PDF z rozszerzeniem EXT
longstatus = swModel.SaveAs(nom_Fichier & " EXT.PDF")
DoWydarzenia
"Zamknięte bez zapisywania
swApp.QuitDoc (nom_Quitter)
DoWydarzenia
Zakończ jeżeli:
Zakończ jeżeli: