我有一系列文件概述了不同的产品版本,每个文件都以打印机作业号命名。我想做的是循环浏览我文件夹中的每个此类文件,打开它获取产品编号,然后用该字符串重命名文件。这些产品都将以相同的前缀开头,但以下数字对于每个产品都是唯一的。我已经达到了我的宏提示用户输入该前缀的地步,但我很难理解如何在 .txt 文件中搜索它,以及如何将所有内容捕获到下一个“空格”。每个产品线都以不同的前缀开头,并且可能有不同数量的后续数字。它只需要获取前缀的第一个实例,到目前为止是第 3 行——但我不想将其限制为仅搜索该行,
编辑:这里的相关信息是“2940UB200L”。“2940”是产品线,由用户给定,后面的值是组件独有的。但是,在此标题下方列出的同一产品线中可能还有其他产品(我无法发布该列表)。这些票据中有 100 个在一个文件夹中,每个文件仅以打印作业编号命名。到目前为止,我真的只有一个弹出框的代码,用于请求产品线前缀和一种循环浏览文件夹的方法。其他一切都是不能完全协同工作的零碎。在给定的文件夹中,所有内容都应该来自同一产品线。
示例文本...预览中的格式似乎与我粘贴的格式不同:
生产工厂缩进账单
父项目编号 描述 圆环
2940UB200L ENGR DRAW 00000LM000/ZN31 标准批次数量 1.000 相对序列 相对序列 组件 工程数量
级别编号 编号。描述图号每
工作代码:
Sub ChangeFileName()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim ProdLine As String 'Product Line to search
Dim CatNum As String 'Full Part number
'Get the folder object associated with the directory
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
'Close macro when no folder is selected
If .Show <> -1 Then MsgBox "No folder selected! Exiting sub...": Exit Sub
myDir = .SelectedItems(1)
On Error Resume Next
FolderName = .SelectedItems(1)
Err.Clear
On Error GoTo 0
End With
'Gives File list a header
Set objFolder = objFSO.GetFolder(FolderName)
'Prompts user for Product Line
ProdLine = InputBox("Enter product line prefix (example: 2940)")
'Find Part Number
'Change file name
End Sub
感谢您的任何意见