将.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 

这应该让你朝着你正在寻找的方向前进。