考虑以下 tifs 目录:
EX0008-001.tif
EX0091-001.tif
EX0091-002.tif
EX0091-003.tif
EX0777-001.tif
EX0777-002.tif
我需要编写一个 VBA 脚本来编译一个专门格式化的输入文件。每个 TIF 图像构造为,文档第 1 页的 TIF 图像也是DOCUMENT-PAGE
如此。为了编译输入文件,我首先需要将图像放入一个多维数组中,如下:EX0008-001.tif
EX0008
Array(
[EX0008] = Array (001)
[EX0091] = Array (001, 002, 003)
[EX0777] = Array (001, 002)
)
为此,我必须使用 VBA。问题是我只了解php。我一直在寻找关于如何在 VBA 中解决我的问题的明确指南,但没有成功。@AutomatedChaos 的示例代码对我来说太高级了。
Set objShell = CreateObject("WScript.Shell")
currentDirectory = objShell.CurrentDirectory
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.GetFolder(currentDirectory)
Set TifCollection = CreateObject("System.Collections.ArrayList")
For each objFile in objFolder.Files
If objFso.GetExtensionName (objFile.Path) = "tif" Then
fileNumber = Split(objFile.Name, "-")(0)
pageNumber = Split(objFile.Name, "-")(1)
If Not TifCollection(fileNumber).Exists Then
Set TifCollection.Item(fileNumber) = CreateObject("System.Collections.ArrayList")
End If
TifCollection.Item(fileNumber).Add pageNumber
End If
Next
由于这也是我对 VBA 的第一次介绍,我希望我的代码尽可能简单和简洁。你能帮我让上面的代码工作吗?我不明白我得到的错误消息(Class doesn't support Automation: TifCollection
),因为我定义TifCollection
为一个数组,而不是一个类?