SolidWorks >> Makra >> Makro PDF, jego modyfikacja
<  1  2  
Autor Wypowiedź
SolidWorks 2015 sp.3
2017-09-20, 12:56
Pomógł 0 raz(y).
Witam,
Czy jest możliwość zmodyfikowania tego makra aby PDF'a zapisywał pod nazwą Numeru rys z właściwości dostosowanych?
Znalazłem takie makro jednak ono zapisuje jedynie części lub złożenia pod nazwą Numeru rys:

Sub main()
Dim swApp As SldWorks.SldWorks
Dim SWmoddoc As SldWorks.ModelDoc2
Dim partnumber As String
Set swApp = Application.SldWorks
Set SWmoddoc = swApp.ActiveDoc
'Use this....To Get the value from the Properties in the CUSTOM tab
partnumber = SWmoddoc.CustomInfo("Numer")
'Or this....To Get the value from the Configuration Specific Tab
'partnumber = SWmoddoc.GetCustomInfoValue("Default", "Numer")
PathName = SWmoddoc.GetPathName 'this gets the full path of the current open document (including filename)
FilePath = Left(PathName, InStrRev(PathName, "")) 'uses to full pathname to get the folder path, to be added to the save as file name
If (SWmoddoc.GetType = swDocASSEMBLY) Then
SWmoddoc.SaveAs (FilePath + partnumber + ".sldasm")

ElseIf (SWmoddoc.GetType = swDocPART) Then
SWmoddoc.SaveAs (FilePath + partnumber + ".sldprt")
End If
End Sub
 
.
2017-09-20, 21:28
Pomógł 52 raz(y).
Oczywiście, że się da.
Spróbuj to, rysunek zapisuje jako PDF o nazwie wprowadzonej do właściwości dostosowanych w rysunku o nazwie 'Numer':

Sub main()
Dim swApp As SldWorks.SldWorks
Dim SWmoddoc As SldWorks.ModelDoc2
Dim partnumber As String
Set swApp = Application.SldWorks
Set SWmoddoc = swApp.ActiveDoc
'Use this....To Get the value from the Properties in the CUSTOM tab
partnumber = SWmoddoc.CustomInfo("Numer")
'Or this....To Get the value from the Configuration Specific Tab
'partnumber = SWmoddoc.GetCustomInfoValue("Default", "Numer")
PathName = SWmoddoc.GetPathName 'this gets the full path of the current open document (including filename)
FilePath = Left(PathName, InStrRev(PathName, "")) 'uses to full pathname to get the folder path, to be added to the save as file name
If (SWmoddoc.GetType = swDocASSEMBLY) Then
SWmoddoc.SaveAs (FilePath + partnumber + ".sldasm")

ElseIf (SWmoddoc.GetType = swDocPART) Then
SWmoddoc.SaveAs (FilePath + partnumber + ".sldprt")

ElseIf (SWmoddoc.GetType = swDocDRAWING) Then

Dim Boolstatus As Boolean
Dim lErrors As Long
Dim lWarnings As Long
Set swModelDocExt = SWmoddoc.Extension
Set swExportData = swApp.GetExportFileData(swExportPdfData)
Boolstatus = swExportData.SetSheets(swExportData_ExportAllSheets, 1)
Boolstatus = SWmoddoc.Extension.SaveAs(FilePath + partnumber + ".pdf", 0, 0, swExportData, lErrors, lWarnings)
If Boolstatus Then
MsgBox "Save as :" & Chr(10) & FilePath + partnumber + ".pdf" & Chr(10) & " successful . . . :) :) :) ", vbInformation, "Eksport rysunku do PDF"
Else
MsgBox "Save as PDF failed, Error code:" & lErrors
End If
End If
End Sub

 
SolidWorks 2015 sp.3
2017-10-02, 11:44
Pomógł 0 raz(y).
Dziękuje za szybką odpowiedź, jednak ja też nie próżnowałem i w między czasie również podobną metodą zmodyfikowałem makro.
Idę dalej ściągnąłem makro robiące pdf'y ze złożenia, otwiera każdy rysunek z drzewka i zapisuje go w podanej lokalizacji jako pdf. Jest jednak jeden problem, nie jestem w stanie zmodyfikować go w sposób aby po wybraniu lokalizacji właśnie go tam zapisało, a jeśli już tak zmodyfikuję to nie mogę uzyskać nazwy pliku jaką chcę.
Kod:
' SAVE DRAWINGS AS PDF
#If VBA7 Then
Private Type BROWSEINFO
hwndOwner As LongPtr
pIDLRoot As Long
pszDisplayName As String
lpszTitle As String
ulFlags As Long
lpfnCallback As LongPtr
lParam As LongPtr
iImage As Long
End Type
Private Declare PtrSafe Function SHBrowseForFolder Lib "Shell32" (lpbi As BROWSEINFO) As Long
Private Declare PtrSafe Function SHGetPathFromIDList Lib "Shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare PtrSafe Sub CoTaskMemFree Lib "ole32" (ByVal hMem As Long)
#Else
Private Type BROWSEINFO
hwndOwner As Long
pIDLRoot As Long
pszDisplayName As Long
lpszTitle As String
ulFlags As Long
lpfnCallback As Long
lParam As Long
iImage As Long
End Type
Private Declare Function SHBrowseForFolder Lib "Shell32" (lpbi As BROWSEINFO) As Long
Private Declare Function SHGetPathFromIDList Lib "Shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Sub CoTaskMemFree Lib "ole32" (ByVal hMem As Long)
#End If

'Keywords used in BrowseForFolder function
Private Const BIF_RETURNONLYFSDIRS As Long = &H1 'Directories only
Private Const BIF_DONTGOBELOWDOMAIN As Long = &H2
Private Const BIF_RETURNFSANCESTORS As Long = &H8
Private Const BIF_BROWSEFORCOMPUTER As Long = &H1000
Private Const BIF_BROWSEFORPRINTER As Long = &H2000
Private Const BIF_BROWSEINCLUDEFILES As Long = &H4000
Private Const MAX_PATH As Long = 260

Private Const BIF_NEWDIALOGSTYLE = &H40 'Windows 2000 (Shell32.dll 5.0) extended dialog
Private Const BIF_EDITBOX = &H10& ' show edit box
'''''''''''''''''''''''''''''''''''''''''''''''

'Global variables
Dim DocCount As Long
Dim pdfFolderName As String
Dim saveLog As String

Option Explicit

'BrowseForFolder sub-function helps the user select the desired directory to save PDF files to
Public Function BrowseForFolder() As String
Dim tBI As BROWSEINFO
Dim lngPIDL As Long
Dim strPath As String
With tBI
.lpszTitle = ""
.ulFlags = BIF_RETURNONLYFSDIRS Or BIF_NEWDIALOGSTYLE Or BIF_EDITBOX
End With
lngPIDL = SHBrowseForFolder(tBI)
If (lngPIDL 0) Then
' get path from ID list
strPath = Space$(MAX_PATH)
SHGetPathFromIDList lngPIDL, strPath
strPath = Left$(strPath, InStr(strPath, Chr$(0)) - 1)
' release list
CoTaskMemFree lngPIDL
End If
BrowseForFolder = strPath
End Function

'TraverseComponents sub-function traverses components at all levels of an assembly.
'Adapted from API help: http://help.solidworks.com/2015/english/api/sldworksapi/Traverse_Assembly_at_Component_Level_Example_VB.htm
Function TraverseComponents(swComp As SldWorks.Component2, nLevel As Long)

'Local variables
Dim fswApp As SldWorks.SldWorks
Dim vChildComp As Variant
Dim swChildComp As SldWorks.Component2
Dim swCompConfig As SldWorks.Configuration
Dim i As Long
Dim fOpenWarnings As Long
Dim fOpenErrors As Long
Dim fDwgPath As String
Dim fmyDwgDoc As SldWorks.ModelDoc2
Dim AssyPart As SldWorks.ModelDoc2
Dim compNameFull As String
Dim compName As String
Dim saveFlag As Integer
Dim findHyphen As Integer
Dim findSlash As Integer
Dim test As Integer

'Startup
Set fswApp = Application.SldWorks

'Cycle through sub-components, calling this function each time to drop down another level in the tree
vChildComp = swComp.GetChildren
For i = 0 To UBound(vChildComp)
Set swChildComp = vChildComp(i)
TraverseComponents swChildComp, nLevel + 1
Next i

'Get name of only the current component and set flag accordingly indicating whether PDF should be saved or not
findHyphen = InStrRev(swComp.Name2, "-") 'Return location of the rightmost hyphen in the component name (all instances of a component are identified with a hyphen-number, e.g. 123456-D001-1, 123456-D001-2, etc.)
test = InStr(swComp.Name2, "-") 'Return location of the leftmost hyphen in the component name (typically the one in the file name i.e. 123456-A001). This is used in the next line.
If findHyphen = 0 Or findHyphen = test Then 'less than two hyphens found (i.e. only one of a component was present) so the InStrRev function returned 0, OR the same hyphen was found when searching from each end of the string so only one hyphen is present i.e. the one in the file name.
compNameFull = swComp.Name2 'Set compNameFull to the component name as is
Else 'hyphen was found
compNameFull = Left(swComp.Name2, findHyphen - 1) 'Position to cut the string at is 1 to the left of the hyphen so that the hyphen is not in the compNameFull string
End If
findSlash = InStrRev(compNameFull, "/") 'Return location of the rightmost slash in the component name (all components in a subassembly are identified with a slash, e.g. 123456-A001/123456-D001-1, etc.)
If findSlash = 0 Then 'no slash found (i.e. current component is in top level assy) so the InStrRev function returned 0
compName = compNameFull 'Set compName to the component name as is
Else 'slash was found
compName = Right(compNameFull, Len(compNameFull) - findSlash) 'Keep only the string to the right of the slash so that the slash is not in the compName string
End If
saveFlag = InStr(saveLog, compName) 'If saveFlag = 0, the compName was not found in the save Log so the PDF should be saved

'Determine if a drawing exists for the component or sub-component that this function is currently working with
fDwgPath = swComp.GetPathName
If (LCase(Right(fDwgPath, 3)) "drw") And (fDwgPath "") And saveFlag = 0 Then
'the last condition checks if the drawing has already been saved (i.e. when more than one of a component is used in the assy)
fDwgPath = Left(fDwgPath, Len(fDwgPath) - 3) & "drw"
Set fmyDwgDoc = fswApp.OpenDoc6(fDwgPath, swDocDRAWING, swOpenDocOptions_Silent, "", fOpenErrors, fOpenWarnings)
If Not fmyDwgDoc Is Nothing Then 'drawing found

'Activate drawing
fswApp.ActivateDoc fmyDwgDoc.GetPathName
Set AssyPart = fswApp.ActiveDoc()

'Check if PDF needs to be saved by comparing document title text to the save log text (i.e. save each drawing in the assembly only once)
SavePDF AssyPart

'Quit drawing document
fswApp.QuitDoc (AssyPart.GetTitle)
Set fmyDwgDoc = Nothing

End If

End If

End Function

Function SavePDF(swDwg As SldWorks.ModelDoc2)

'Local variables
Dim swApp As SldWorks.SldWorks
Dim drwPathName As String
Dim pdfPathName As String
Dim shortFileName As String
Dim swExportPDFData As SldWorks.ExportPdfData
Dim lErrors As Long
Dim lWarnings As Long
Dim fso As Scripting.FileSystemObject
'moje zmienne
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swCustProp As CustomPropertyManager
Dim valOut As String
Dim resolvedValOut As String
Dim Filepath As String
Dim FileName As String
Dim ConfigProperty As String
Dim swView As View
'inny program
Dim SWmoddoc As SldWorks.ModelDoc2
Dim partnumber As String

'Startup
Set swApp = Application.SldWorks
Set fso = CreateObject("Scripting.FileSystemObject")

'moje

Set swDraw = swApp.ActiveDoc
Set swView = swDraw.GetFirstView
Set swView = swView.GetNextView
Set swModel = swView.ReferencedDocument
' Set Sheet = swApp.ActiveDoc.GetCurrentSheet
Set swCustProp = swDraw.Extension.CustomPropertyManager("")

'Force rebuild
swDwg.Rebuild (swRebuildAll)

'Save PDF of drawing
partnumber = swModel.CustomInfo("Numer")
drwPathName = swDwg.GetPathName()
pdfPathName = fso.BuildPath(pdfFolderName, fso.GetBaseName(drwPathName))
Set swExportPDFData = swApp.GetExportFileData(1)
swExportPDFData.ViewPdfAfterSaving = False
swDwg.Extension.SaveAs pdfPathName + " " + partnumber + ".pdf", 0, 0, swExportPDFData, lErrors, lWarnings
'moje linijki
'Filepath = Left(swDraw.GetPathName, InStrRev(swDraw.GetPathName, ""))
'FileName = Left(swDraw.GetTitle, Len(swDraw.GetTitle) - 10)
'swDraw.SaveAs (Filepath + partnumber + " " + FileName + ".pdf")

'Increment PDF count and update save log
DocCount = DocCount + 1
shortFileName = Left(swDwg.GetTitle, InStr(swDwg.GetTitle, " ")) 'sets the shortFileName to the file name except for the " - Sheet1", " - Sheet2", etc.
saveLog = saveLog & shortFileName & Chr(10) & Chr(13)

End Function
'Required main function
Sub main()

'Declare variables
Dim FirstDoc As SldWorks.ModelDoc2
Dim swApp As SldWorks.SldWorks
Dim OpenWarnings As Long
Dim OpenErrors As Long
Dim DwgPath As String
Dim myDwgDoc As SldWorks.ModelDoc2
Dim Dwg As SldWorks.ModelDoc2
Dim swConf As SldWorks.Configuration
Dim swRootComp As SldWorks.Component2
Dim decisionString As String
Dim infoString As String
Dim box As Long

'Define text strings
infoString = "If a part file is active, this macro will save a PDF of the corresponding drawing" & Chr(13) & Chr(10) & _
"if one exists. If a drawing file is active, this macro will save a PDF of the drawing." & Chr(13) & Chr(10) & _
"If an assembly file is active, this macro will save a PDF of all drawings corresponding to models" & Chr(13) & Chr(10) & _
"in the assembly tree that have drawings, plus a PDF of the assembly drawing."
decisionString = "By default, this macro will save PDFs to the current working folder." & Chr(13) & Chr(10) & _
"Click Yes to accept this or No to choose a different target folder."

'Startup
Set swApp = Application.SldWorks
Set FirstDoc = swApp.ActiveDoc
DocCount = 0
saveLog = ""
'MsgBox infoString 'display informational message

'Quit if no document is open
If FirstDoc Is Nothing Then
MsgBox "Open a document and try again."
Exit Sub
End If

'Determine whether user wants to browse for folder to save to or save to the current folder
box = MsgBox(decisionString, vbYesNo, "Where do you want to save PDF files?")
If box = vbYes Then
pdfFolderName = swApp.GetCurrentWorkingDirectory
End If
If box = vbNo Then 'select folder
pdfFolderName = BrowseForFolder()
If pdfFolderName = "" Then
MsgBox "Please select the path and try again."
Exit Sub
Else
pdfFolderName = pdfFolderName & ""
End If
End If

'Create PDF of currently open drawing (if applicable)
If FirstDoc.GetType = swDocDRAWING Then

'Rebuild and save PDF
SavePDF FirstDoc

'Exit
GoTo MainExit:

End If

'Create PDF of drawing corresponding to currently open part (if applicable)
If FirstDoc.GetType = swDocPART Then

'Find drawing corresponding to currently open part
DwgPath = FirstDoc.GetPathName
If (LCase(Right(DwgPath, 3)) "drw") And (DwgPath "") Then
DwgPath = Left(DwgPath, Len(DwgPath) - 3) & "drw"
Set myDwgDoc = swApp.OpenDoc6(DwgPath, swDocDRAWING, swOpenDocOptions_Silent, "", OpenErrors, OpenWarnings)
If myDwgDoc Is Nothing Then 'no drawing found
MsgBox "A drawing with the same name as this part was not found."
Exit Sub
Else 'drawing found

'Activate drawing
swApp.ActivateDoc myDwgDoc.GetPathName
Set Dwg = swApp.ActiveDoc()

'Rebuild and save PDF of drawing
SavePDF Dwg

'Quit drawing
swApp.QuitDoc (Dwg.GetTitle)
Set myDwgDoc = Nothing

End If
End If

'Exit
GoTo MainExit:

End If

'Create PDFs of all drawings corresponding to models in tree of currently open assembly (if applicable)
If FirstDoc.GetType = swDocASSEMBLY Then

'Start at root of current assembly
Set swConf = FirstDoc.GetActiveConfiguration
Set swRootComp = swConf.GetRootComponent3(True)

'Traverse components and save PDFs of components with drawings
TraverseComponents swRootComp, 1 'the number 1 indicates root component level

'Ensure that first document is activated at end of macro program
swApp.ActivateDoc FirstDoc.GetPathName 'return to document that was originally open

'Exit
GoTo MainExit:

End If

MainExit:

MsgBox "Success! " & DocCount & " PDF files created in folder " & pdfFolderName & " :" & Chr(13) & Chr(10) & saveLog

End Sub

Modyfikuję go wyłącznie w części Function SavePDF
Ta konfiguracja programu zapisuję do wybranej lokalizacji jednak przed nr rysunku dodaję jego nazwę(chcę ale odwrotnie).
Jeśli odblokuję cudzysłów 'moje linijki, one zapisują pod żądaną nazwą jednak pdf'y wyrzuca do katalogów w których znajdują się docelowo rys solidowskie.
Nazwa PDF'a chcę żeby się składała z numeru i nazwy.

Jestem laikiem w programowaniu, może to być na prawdę coś błahego z którym nie mogę sobie poradzić więc proszę wyrozumiałość i o pomoc.
 
.
2017-10-02, 16:35
Pomógł 52 raz(y).
Widzę, że sobie nawet radzisz ale brakuje czegoś takiego :
Filepath + partnumber + " " + FileName + ".pdf"
To ustala nazwę pliku PDF tak jak potrzebujesz (Numer * Nazwa)
 
SolidWorks 2015 sp.3
2017-10-03, 08:04
Pomógł 0 raz(y).
Zgadza się, ta linijka zapisuje mi pod żądaną nazwą lecz PDF'y wrzuca mi do folderów gdzie znajdują się rysunki solidowskie, a nie w zadany folder (w przypadku kiedy złożenie składa mi się z cześci zapisanych w różnych lokalizacjach).

'Save PDF of drawing
partnumber = swModel.CustomInfo("Numer")
drwPathName = swDwg.GetPathName()
pdfPathName = fso.BuildPath(pdfFolderName, fso.GetBaseName(drwPathName))
Set swExportPDFData = swApp.GetExportFileData(1)
swExportPDFData.ViewPdfAfterSaving = False
Filepath = Left(swDraw.GetPathName, InStrRev(swDraw.GetPathName, ""))
FileName = Left(swDraw.GetTitle, Len(swDraw.GetTitle) - 10)
swDraw.SaveAs (Filepath + partnumber + " " + FileName + ".pdf")

Z tego co zauważyłem "Filepath" zapisuje do lokalizacji rysunku solidowskiego
a linijka:
swDwg.Extension.SaveAs pdfPathName + " " + partnumber + ".pdf", 0, 0, swExportPDFData, lErrors, lWarnings
zapisuje do wybranego na początku folderu po uruchomieniu makra lecz nie mogę jej zmodyfikować tak aby nazwa składała się z "numer rys + nazwa pliku"
Może ja coś też źle zrozumiałem więc mogę prosić o całą część tej Funkcji żebym się nie pogubił co gdzie dopisać.
Z góry dziękuje za pomoc.
 
.
2017-10-03, 09:07
Pomógł 52 raz(y).
Moim zdaniem w tym makrze jest trochę przekombinowane.
Spróbuj zamiast fragmentu:

'Save PDF of drawing
partnumber = swModel.CustomInfo("Numer")
drwPathName = swDwg.GetPathName()
pdfPathName = fso.BuildPath(pdfFolderName, fso.GetBaseName(drwPathName))
Set swExportPDFData = swApp.GetExportFileData(1)
swExportPDFData.ViewPdfAfterSaving = False
swDwg.Extension.SaveAs pdfPathName + " " + partnumber + ".pdf", 0, 0, swExportPDFData, lErrors, lWarnings
'moje linijki
'Filepath = Left(swDraw.GetPathName, InStrRev(swDraw.GetPathName, ""))
'FileName = Left(swDraw.GetTitle, Len(swDraw.GetTitle) - 10)
'swDraw.SaveAs (Filepath + partnumber + " " + FileName + ".pdf")

wpisać:

'Save PDF of drawing
partnumber = swModel.CustomInfo("Numer")
Set swExportPDFData = swApp.GetExportFileData(1)
swExportPDFData.ViewPdfAfterSaving = False
swDwg.Extension.SaveAs pdfFolderName + "'backslash'" + Left(swDWG.GetTitle, Len(swDWG.GetTitle) - 7) + " " + partnumber + ".pdf", 0, 0, swExportPDFData, lErrors, lWarnings
'moje linijki

PS.
Uwaga do Forum. Zróbcie coś żeby można było wpisywać wszystkie znaki ASCII.
Nie można wpisywać BackSlash, znaków mniejszości i większości i innych.
To ograniczenie utrudnia a czasami uniemożliwia poprawne cytowanie tekstów źródłowych makr.
 
SolidWorks 2015 sp.3
2017-10-03, 10:53
Pomógł 0 raz(y).
Działa świetnie, tak jak chciałem, jednak tylko kolejność zmieniłem numeru z nazwą oraz ilość znaków do usunięcia za nazwą części z 7 na 10:
swDwg.Extension.SaveAs pdfFolderName + "'backslash'" + partnumber + " " + Left(swDwg.GetTitle, Len(swDwg.GetTitle) - 10) + ".pdf", 0, 0, swExportPDFData, lErrors, lWarnings
Dziękuję za pomoc, pozdrawiam,
 
.
2017-10-03, 11:02
Pomógł 52 raz(y).
A tak z ciekawości, dlaczego usuwasz 10 znaków. Rozszerzenie plików SW ma razem z kropką 7 znaków(np .SLDDRW)?
 
SolidWorks 2015 sp.3
2017-10-03, 13:18
Pomógł 0 raz(y).
W tym przypadku usuwam nie rozszerzenie a nr arkusza, np: "Tuleja - Arkusz1" zostawiająć "Tuleja".
Jeszcze jeden problem się pojawił ale znikomy, mianowicie jeśli w złożeniu mam wiele razy daną część, makro otwiera i podmienia pdf'a tyle razy ile ona jest użyta w złożeniu, jak się domyślam brakuje jakiegoś wyrażenia Jeżeli,
Ale jeśli ma ktoś pomysł jestem otwarty na propozycję.
 
.
2017-10-03, 14:24
Pomógł 52 raz(y).
To makro rekurencyjnie przeszukuje złożenie zagłębiając się aż do najniższego poziomu. Jeśli komponenty występują wiele razy to nie znalazłem w nim mechanizmu kontroli dlatego jest tak jak opisałeś.
Trzeba stworzyć tablicę zawierającą dane wyeksportowanych już rysunków i przed wywołaniem funkcji SavePDF sprawdzić czy aktualny rysunek nie znajduje się już w bazie a po wykonaniu tej funkcji uzupełnić bazę ostatnim rysunkiem. Problemem jest określenie wielkości tablicy ale tu można się posłużyć funkcją:
Dim Value As Variant
Value = Assembly.GetComponents(False) ' Sporządzenie listy wszystkich części złożenia
IlośćWszystkichCzęści = UBound(Value)
ReDim TablicaEksportu (IlośćWszystkichCzęści)

Zresztą ja w swoich makrach korzystam właśnie z tej tablicy 'Value' przy operacjach na złożeniach a nie z rekurencji '.GetChildren'.
Wystarczy dopisać blok który usuwa powtórzenia elementów tablicy 'Value', tworzy nową . Możemy sobie posortować elementy tablicy co przydaje się przy wydruku wszystkich rysunków złożenia bo są już ładnie poukładane.
Potem wykonujemy eksport kolejnych rysunków z tej nowej tablicy.
Wydaje mi się to prostsze.
 
.
2017-10-04, 07:38
Pomógł 52 raz(y).
    Bil Paweł
    W tym przypadku usuwam nie rozszerzenie a nr arkusza, np: "Tuleja - Arkusz1" zostawiająć
    "Tuleja".
    Jeszcze jeden problem się pojawił ale znikomy, mianowicie jeśli w złożeniu mam wiele razy daną
    część, makro otwiera i podmienia pdf'a tyle razy ile ona jest użyta w złożeniu, jak się
    domyślam brakuje jakiegoś wyrażenia Jeżeli,
    Ale jeśli ma ktoś pomysł jestem otwarty na propozycję.

Odnośnie usuwania zbędnych znaków lepiej zrobić tak:
Nazwa = CreateObject("Scripting.FileSystemObject").GetBaseName(swDWG.GetPathName())

a dla uniknięcia powtórzeń:
NazwaPliku = pdfFolderName + "'backslash'" + partnumber + " " + Nazwa + ".pdf"
if DIR(NazwaPliku) = "" then SavePDF NazwaPliku

Pozdrawiam
 
<  1  2  

PSWUG

Strefa Resellera

Publikuj

Społeczność

Ankieta

Linki

RSS

BOT