excel如何将录制的宏应用到不同文件夹下的.xls文档

大哥帮我教下,excel如何将录制的宏应用到不同文件夹下的.xls文档?

把“共享工作簿”的操作录制成一个新宏。

如何把这个宏应用到a、b、c三个文件夹下所有.xls文档?

高手指教。
a、b、c三个文件夹下有300多个.xls文档

这300多个.xls文档都需要共享,我录制一个“共享工作簿”的宏,但是如此快速的应用到300多个.xls文档?

一个一个的设置太麻烦了。

需要用到vba吗?

回:uuct

保存成“个人宏工作簿”,设置一个快捷键,打开一个.xls文档,设置一下,但是这样太慢了,有300多个文档呢,有没有更快的方法?或者是写一段vba代码?
最新回答
战皆罪

2024-09-17 03:54:21

'先设置为个人宏,设置快捷键,这里假设CTRL + ALT + K
'然后把下面的代码复制去保存成比如execMacro.vbs
'然后,先备分好原来的XLS文档以免脚本有误造成损失
'再执行保存下来的execMacro.vbs
'此脚本运行后会让你选择一个文件夹,然后搜索你指定文件夹内的XLS文档
'打开然后执行宏快捷键,保存,退出……

set oAShl=CreateObject("Shell.Application")
set oShl=CreateObject("WScript.Shell")
set oFolder = nothing
Set oFolder = oAShl.BrowseForFolder(0, "请选择要处理的XLS所在文件夹:", 0, "")
iXlsCount=0
iExecuted=0
if not oFolder is Nothing then
for each oItem in oFolder.items
strName=LCase(oItem.name)
if right(strName,4)=".xls" then
iXlsCount=iXlsCount + 1
oItem.Verbs.Item(0).DoIt '打开Excel文件
WScript.Sleep 3000 '等待3秒让Excel文件打开,如果太短,可以加大
if (oShl.AppActivate("Microsoft Excel - " & oItem.Name)) then
oShl.SendKeys "^%k" ' 执行CTRL+ALT+K
WScript.Sleep 2000 '等待2秒,根据宏执行程序请自行调整
oShl.SendKeys "^s" ' 执行CTRL + S ,保存文档
WScript.Sleep 1000
oShl.SendKeys "%{F4}" ' 执行ALT + F4 ,退出
iExecuted=iExecuted + 1
end if
end if
next
msgbox "执行完毕,找到 " & iXlsCount & " 个XLS文档,执行了 " & iExecuted & " 个"
end if
set oAShl=nothing
set oShl=nothing
set oFolder=nothing
浅夏凉眸

2024-09-17 04:13:57

在D盘建一个“Test”文件夹,并在Test文件夹下面放一个“结果”文件夹,把你要共享的文件拷贝到Test文件夹下,然后打开一个空白Excel文档执行下面的代码。
Sub xlsShare()
Dim Axls As String
Dim PsDoc As Workbook
Dim CurPath, Newpath As String
'On Error Resume Next
ChDrive "D"
ChDir "D:\test"
Axls = Dir("*.xls")
Application.ScreenUpdating = False
Do While Axls <> ""
CurPath = CurDir("D")
Set PsDoc = Workbooks.Open(Axls)
Workbooks(Axls).Activate

ChDrive "D"
ChDir "D:\test\结果"

With ActiveWorkbook
.KeepChangeHistory = True
.ChangeHistoryDuration = 30
End With
ActiveWorkbook.SaveAs Filename:=Axls, AccessMode:=xlShared
With ActiveWorkbook
.AutoUpdateFrequency = 5
.AutoUpdateSaveChanges = True
End With
ActiveWindow.Close SaveChanges:=False

ChDrive "D"
ChDir "D:\test"
Axls = Dir()
Loop
Application.ScreenUpdating = True
End Sub
柏拉图爱恋

2024-09-17 00:46:01

首先你得安装excel软件,一般在office办公软件包里面包含。
其次,在任意文件夹下,右击鼠标,选择新建microsoft
excel表格就行。
自古女子多痴情深

2024-09-17 04:15:53

把宏保存到“个人宏工作簿”(Personal.xls)里,就可以到处用了。
饮尽孤单

2024-09-17 02:50:00

做excel模板就可。