1

我的工作性质与这个问题几乎相同。是否可以将此.bat命令转换为 excel 宏?如果是这样,那将如何进行?

4

1 回答 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 回答