将.batbatch file转换为Excelmacros?
我在这个问题上的工作性质差不多。 有没有可能将这个.bat
命令转换成一个Excelmacros? 如果是这样,那将如何完成?
是的,您可以扫描文件,然后通过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
这应该让你朝着你正在寻找的方向前进。