Witam
Utworzyłem makro na podstawie tego, co znalazłem, musi przekonwertować mój MEP do formatu pdf i zapisać go w folderze roku, w którym został utworzony, jeśli folder nie istnieje utwórz.
Oto ona:
Dim swApp As Object
Przyciemnij część jako obiekt
Dim FileNamePDF jako ciąg
Sub main()
Dim swApp jako SldWorks.SldWorks
Przyciemnij SWmoddoc jako SldWorks.ModelDoc2
Słońce NumerPlan Jako Ciąg
Przyciemnij plik ścieżki jako ciąg
Dim FileName As Ciąg
Dim NumberLeaf As Ciąg
Dim FileNamePDF jako ciąg
Dim PathFileNamePDF jako ciąg
Dim NazwaFolderPDF jako ciąg
Dim nErrors tak długo, jak długo
Dim nWarnings tak długo, jak długo
Ustaw swApp = Application.SldWorks
Ustaw SWmoddoc = swApp.ActiveDoc
'Pobieranie ścieżki i nazwy pliku
Przykład: \\MERCURE\Sharing\xMethods\Public\DAO\Solidworks\2 - Drawing\2014\046-1-2014-A.SLDDRW
PathName = SWmoddoc.GetPathName
FilePath = Left(PathName, InStrRev(PathName, "\")) '\\MERCURY\Sharing\xMethods\Public\DAO\Solidworks\2 - Rysunek\2014\
NazwaPliku = Right(NazwaŚcieżki, Len(NazwaŚcieżki) - InStrRev(NazwaŚcieżki, "\")) '046-1-2014-A.SLDDRW
FileNamePDF = Right(FileName, 13) '2014-A.SLDDRW
FileNamePDF = Lewo(NazwaPlikuPDF, 4) '2014
FileNamePathPDF = "\\MERCURY\Sharing\xMethods\Public\DAO\PDF Plans\" & FolderNamePDF '\\MERCURY\Sharing\xMethods\Public\DAO\PDF Plans\2014\
'------------------------------------------------------------------
'Pobieranie właściwości niestandardowych z pliku planu
Jeśli SWmoddoc.GetType = swDocDRAWING Następnie sprawdź, czy jesteśmy na pliku planu
FileNamePDF = Replace(Nazwa Pliku, "SLDDRW", "pdf")
Zakończ jeżeli:
'------------------------------------------------------------------
'Sprawdź, czy folder z rokiem istnieje, jeśli nie, utwórz go
Jeśli Dir$(FileNamePathPDF) = "" Następnie
MkDir "nazwa_plikuPDF"
Zakończ jeżeli:
'------------------------------------------------------------------
"Sprawdź, czy plik już istnieje, lub potwierdź
"Następnie nagrywanie
Jeśli Dir$(FileNamePathPDF) = FileNamePDF, to 'Plik już istnieje
Jeśli MsgBox("Plik: " & NazwaPlikuPDF & vbNewLine & " już istnieje. Czy chcesz go zastąpić?", _
vbOKCancel + vbWykrzyknik) = vbOK Następnie
nErrors = SWmoddoc.SaveAs(FileNamePathPDF)
Inaczej
Jeśli MsgBox("Plik PDF nie został utworzony.", vbInformation) = vbOK Następnie wyjdź z sub '-------Message i EXIT-------
Zakończ jeżeli:
Inaczej
Jeśli MsgBox("Plik: " & NazwaPlikuPDF & vbNewLine & " zostanie utworzony", vbOKCancel + vbInformation) = vbOK to
nErrors = SWmoddoc.SaveAs(FileNamePathPDF)
Inaczej
Jeśli MsgBox("Plik PDF nie został utworzony.", vbInformation) = vbOK Następnie wyjdź z sub '-------Message i EXIT-------
Zakończ jeżeli:
Zakończ jeżeli:
Koniec subwoofera
Nie wiem jak go przetestować i chciałbym wiedzieć przed uruchomieniem, czy nie zrobiłem czegoś głupiego, bo bawi się folderami sieci mojej firmy.
Z góry dziękuję.