The serial is added to the partprogram filename:
Let's say that the partprogram name is 'Heatshield_1' and when entering the serial as 'number 1' the partprogram is saved as 'Heatshield_1_number 1.prg'.
REMOVED
Your Products have been synced, click here to refresh
REMOVED
Here is a change I made to VPT.SE's code.
I took out the input for serial number and have pc-dmis save the file using the current time and date as an extension to the file name.
Good luck.
' Displays an inputbox telling the user To enter a serialnumber
' Or other information that will be concatenated To the partprogram
' Name (partname) And saved In the current partprogram folder.
'
' ORIGINAL CODE by vpt.se 2010
'
Sub Main()
Dim PCDApp, PCDPartPrograms, PCDPartProgram
Set PCDApp = CreateObject("PCDLRN.Application")
Set PCDPartPrograms = PCDApp.PartPrograms
Set PCDPartProgram = PCDApp.ActivePartProgram
' my added code
HR = HOUR(NOW)
MN = MINUTE(NOW)
SEC = SECOND(NOW)
MON = MONTH(NOW)
DY = DAY(NOW)
YR = YEAR(NOW)
'my added code
'my change In VPT.SE's code
newname = PCDPartProgram.Path & PCDPartProgram.PartName & "_" & HR & "_" & MN & "_" & SEC & "_" & MON & "_" & DY & "_" & YR & "_" & ".PRG"
'my change In code
retval = PCDPartProgram.SaveAs(newname)
' Cleanup
Set PCDPartProgram = Nothing
Set PCDPartPrograms = Nothing
Set PCDApp = Nothing
End Sub
This copies the program named SAMPLE PROGRAM.PRG
and adds the extensions _HR_MIN_SEC_MON_DY_YR_
SAMPLE PROGRAM.PRG now becomes
SAMPLE PROGRAM_10_14_37_1_20_2011_.PRG
Sub Main ' This Script will Append the serial number entered In the C1 Input comment In the PC-DMIS program ' To the part program Name And save the file into a folder named "RESULTS" that resides ' In the same directory As the part program. It will Then resave As the original part program Name In ' the original directory, ready To be executed again. '--------------------------------------------------------------- ' Create a Folder In the same directory As the Part Program called "RESULTS" ' Insert this code at beginning of PC-DMIS program: ' C1 =COMMENT/Input, NO, FULL SCREEN=NO, ' Enter Part Serial Number ' ASSIGN/SER_NUM=(C1.Input) '------------------------------------------------------------- Dim App As Object Dim Part As Object Dim Serial As Object Dim strCrntName As String Dim strPath As String Dim strPrgName As String Dim strNewName As String Dim strNoExt As String Dim bolPassFail As Boolean Dim FindDot Set App = CreateObject ("PCDLRN.Application") Set Part = App.ActivePartProgram Set Serial = Part.GetVariableValue ("SER_NUM") strCrntName = Part.FullName strPath = Part.Path strPrgName = Part.Name FindDot = InStr(1, strPrgName, ".") strNoExt = Left(strPrgName, FindDot - 1) strNewName = strPath & "RESULTS\" & strNoExt & "_" & Serial.StringValue & ".prg" bolPassFail = Part.SaveAs (strNewName) bolPassFail = Part.SaveAs (strCrntName) End Sub
Not sure why the original code was removed from this post. Hopefully vpt.se won't mind me posting an adaptation of his original code and code from Craiger_NY. There is definitly more that could be added to this, like the "Check if file exists", but it gets the job done as I need right now. Hopefully it will be helpful to someone.
' Displays an inputbox telling the user To enter a serialnumber ' Or other information that will be concatenated To the partprogram ' Name (partname) And saved In the current partprogram folder. ' If the file already exist, the user will be prompted and told ' to enter a new serial. ' ' vpt.se 2011 Sub Main() Dim PCDApp, PCDPartPrograms, PCDPartProgram, fso Set PCDApp = CreateObject("PCDLRN.Application") Set PCDPartPrograms = PCDApp.PartPrograms Set PCDPartProgram = PCDApp.ActivePartProgram Set fso = CreateObject("Scripting.FileSystemObject") ser$ = InputBox$("Enter serial number:", "Serial", "", 200, 175) If ser$ <> "" Then newname = PCDPartProgram.Path & PCDPartProgram.PartName & "_" & ser$ & ".PRG" If Not fso.FileExists(newname) Then retval = PCDPartProgram.SaveAs(newname) Else MsgBox "File exists - enter a new name!" Main End If End If ' Cleanup Set fso = Nothing Set PCDPartProgram = Nothing Set PCDPartPrograms = Nothing Set PCDApp = Nothing End Sub
© 2024 Hexagon AB and/or its subsidiaries. | Privacy Policy | Cloud Services Agreement |