我的工作性质与这个问题几乎相同。是否可以将此.bat
命令转换为 excel 宏?如果是这样,那将如何进行?
问问题
963 次
1 回答
0
是的,您可以扫描文件,然后通过 VBA 代码从 Excel 重命名/复制它们。
您使用文件系统对象
http://msdn.microsoft.com/en-us/library/office/gg278516.aspx
一些例子:
Set fso = CreateObject("Scripting.FileSystemObject")
fso.MoveFile "d:\dummytest.txt", "d:\dummytest2.txt"
fso.CopyFile "d:\dummytest.txt", "d:\dummytest2.txt"
至于确定要移动的文件等,您必须获取文件夹中所有项目的列表,并确定您的触发器将用于操作。正如人们所预料的那样,这也与文件系统对象相关联。
这是我用来检查我要使用的文件名是否已经存在的代码块示例:
Flag = 1
While Flag > 0
FileExists = (Len(Dir(Path & "\" & FileName, lngAttributes)) > 0)
If FileExists Then
FileName = BaseFilename & "(" & Flag & ").xlsx"
Flag = Flag + 1
Else
Flag = 0
End If
Wend
这是一个遍历文件夹中所有对象的示例:
Set FileSys = New FileSystemObject
Set myFolder = FileSys.GetFolder(myDir)
dteFile = DateSerial(1900, 1, 1)
For Each objFile In myFolder.Files
If objFile.DateLastModified > dteFile Then
dteFile = objFile.DateLastModified
strFilename = objFile.Name
End If
Next objFile
这应该让你朝着你正在寻找的方向前进。
于 2013-04-23T17:32:37.503 回答