我已经编写了一个宏来将用户选择的文件夹中的所有工作簿中的数据复制并粘贴到主文档中,但是当前宏以随机顺序选择文件。我想要做的是它按字母顺序选择文件,因此主文档中的数据是正确的顺序...帮助实现这一点将非常感激,我不是很珍贵的方法!
def group(data):
result = ([], [])
for x in data:
result[x % 2].append(x)
return result
(even, odd) = group([1, 4, 7, 3, 2])
print(even) #=> [4, 2]
print(odd) #=> [1, 7, 3]
答案 0 :(得分:0)
看一下下面的示例,演示如何使用过滤器循环遍历文件夹中的文件,并使用Shell.Application
ActiveX按字母顺序排序:
Option Explicit
Sub Test_Shell_Folder_Items()
Dim sPath
Dim sExtension
Dim oShellApp
Dim oFolder
Dim oFolderItems
Dim oFolderItem
sPath = "C:\Test"
sExtension = "*.xls"
Set oShellApp = CreateObject("Shell.Application")
Set oFolder = oShellApp.Namespace(sPath)
Set oFolderItems = oFolder.Items()
oFolderItems.Filter 64 + 128, sExtension ' 32 - folders, 64 - not folders, 128 - hidden
For Each oFolderItem In oFolderItems
Debug.Print oFolderItem.Path
Next
End Sub