使用条形码扫描保存为文件名

时间:2018-07-11 17:44:01

标签: arrays

我想要得到的是一个弹出窗口,上面写着扫描作业编号,该编号在扫描时消失,然后另一个弹出窗口上显示扫描的测试材料也消失了

然后,这两个数据都成为文件名,并且在两个数据之间带有下划线

EG JN1106846_F114-CHT-00343

另一个弹出窗口,显示数据供用户确认是否正确。 如果是,则保存到预设路径,如果没有则返回到开头

我几乎可以正常工作了,我在努力挣扎的是

变量文件名并在其中添加下划线(我想也许可以从消息框中复制文本,但是我似乎做不到)

输入正确数量的字符后接受扫描数据

并处理具有相同名称的多个文件。我想给它们加上时间戳,但冒号阻止它保存

有什么建议吗?

Sub tt()

将inputData设置为字符串

Application.DisplayAlerts = False

inputData = InputBox("Scan Job Number:", "Scan it you slag!")
If inputData <> "" Then
  scan = inputData
End If

inputData = InputBox("Scan part number:", "Scan it you slag!")
If inputData <> "" Then
partnum = inputData
End If

Ret_Type = MsgBox(scan & "_" & partnum & "_" & Now(), vbYesNo, "Filename Correct?")




Select Case Ret_Type

Case 6
  ActiveWorkbook.SaveAs ("M:\Quality\Public\ManufacturingHistory\RoughnessTestingResults\VarableFilename " & Format(Now(), "DD-MMM-YY") & ".xlsx")



Case 7
Call tt

End Select

结束子

2 个答案:

答案 0 :(得分:0)

首先,应在创建文件后立即将文件名存储在变量中,如下所示:

Dim filename As String = scan & "_" & partnum & "_" & Format(Now(), "DD-MMM-YY")
Ret_Type = MsgBox(filename, vbYesNo, "Filename Correct?")

因此,Datetime会在您捕获后立即存储并保存,否则,如果用户需要1个小时才能在MsgBox中单击“确定”,并且在保存期间再次设置了Now() ,则将采用最新日期,而不是一个小时前生成的第一个日期。

此外,从不建议以编程方式在文件名中放置空格字符。您应该用下划线替换它们。尝试以下代码行来保存您的xlsx文件:

ActiveWorkbook.SaveAs("M:\Quality\Public\ManufacturingHistory\RoughnessTestingResults\" & filename & ".xlsx")

答案 1 :(得分:0)

感谢洛根和吉米。

如果其他人正在寻找类似的功能,则最终代码如下 我建议在inputBox上使用用户表单,因为我无法使inputBox根据输入的字符数自动接受

Sub tt()

将inputData设置为字符串

Application.DisplayAlerts = False

inputData = InputBox("Scan Job Number:", "Scan it you slag!")
If inputData <> "" Then
  scan = inputData
End If

inputData = InputBox("Scan part number:", "Scan it you slag!")
If inputData <> "" Then
partnum = inputData
End If

昏暗的文件名作为字符串     filename = scan&“ ”&partnum&“ ”&Format(Now(),“ DD-MMM-YY-HH-MM-SS”)

Ret_Type = MsgBox(scan & "_" & partnum & "_" & Now(), vbYesNo, "Filename Correct?")


Select Case Ret_Type

Case 6

ActiveWorkbook.SaveAs ("M:\Quality\Public\ManufacturingHistory\RoughnessTestingResults\" & filename & ".xls")

Case 7
Call tt

End Select

结束子