arrays - 使用条形码扫描保存为文件名
问题描述
我想要得到的是一个弹出窗口,上面写着扫描作业编号,在扫描编号时消失,然后另一个弹出窗口显示经过测试的扫描材料也消失了
然后两条数据都成为文件名,两条数据之间有一个下划线
EG JN1106846_F114-CHT-00343
另一个弹出窗口显示数据以供用户确认它是正确的。如果是,则保存到预设路径,如果没有循环回到开头
我几乎让它工作了,我正在努力解决的问题是
变量文件名并在其中获取下划线(我想也许从消息框中复制文本可以做到,但我似乎做不到)
输入正确数量的字符后接受扫描数据
并处理多个同名文件。我想给它们加时间戳,但冒号阻止它保存
有什么建议么??
子 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
结束子
解决方案
首先,您应该在创建文件后立即将文件名存储在变量中,如下所示:
Dim filename As String = scan & "_" & partnum & "_" & Format(Now(), "DD-MMM-YY")
Ret_Type = MsgBox(filename, vbYesNo, "Filename Correct?")
因此,您将在Datetime
捕获后立即存储并保留它,否则如果用户在您的 MsgBox 中单击 Ok 之前需要 1 小时,并且您Now()
在保存期间再次设置 a,则将采用最新日期而不是您的第一个日期一小时前生成。
此外,从不建议以编程方式在文件名中放置空格字符。您应该用下划线替换它们。试试这行代码来保存你的 xlsx 文件:
ActiveWorkbook.SaveAs("M:\Quality\Public\ManufacturingHistory\RoughnessTestingResults\" & filename & ".xlsx")
推荐阅读
- tcl - 在 tcl/tk 中添加不同颜色的标签文本
- python - 如何在 CNN 模型中找到单个精度以用于研究目的?
- python - 找不到步骤定义 -- pytest-bdd
- google-sheets - 现有自动刷新连接工作表的可见性
- python - 我如何解决这个循环导入?
- node.js - 简单的 https express 导致“此页面无法正常工作”
- reactjs - 安装“sharp”模块出了点问题
- javascript - 如何使用代理合并数组中的相同项目?
- html - 如何使用 Angular 中的 get api 按名字和姓氏搜索?
- reactjs - 如何使用 const 在 .js 中创建一个数组,以便我可以使用该数组来创建一行卡片?