让一个文件夹的所有excel文档自动运行一段宏代码(宏的快捷键是Ctrl+E),怎么处理?给个思路啊?
求思路,求指导,要不要在VB下编译代码呢?http://zhidao.baidu.com/question/269074617.html...
求思路,求指导,要不要在VB下编译代码呢?
http://zhidao.baidu.com/question/269074617.html 展开
http://zhidao.baidu.com/question/269074617.html 展开
1个回答
展开全部
你试试这样:
在VBA中编写一个函数,循环去打开这个文件夹中的每一个文件,然后执行这个宏。
每打开一个文件,执行一次宏,保存退出。再打开下一个文件,循环操作。
在VBA中编写一个函数,循环去打开这个文件夹中的每一个文件,然后执行这个宏。
每打开一个文件,执行一次宏,保存退出。再打开下一个文件,循环操作。
追问
你这也太大白话了吧,关键是用什么函数,从语言上讲怎么个大致流程啊
追答
这是一段函数代码,仔细看一下循环。
nFileNum代表要自动执行的文件数量。
参照设置A1数值的方式,或者调用你的自定义宏。
自动关闭,保存。
Sub OpenExcelFile()
Dim strPath(100) As String
Dim strBookName(100) As String
Dim nCount As Integer
Dim nFileNum As Integer
nFileNum = InputBox("请输入打开的文件数量(小于100):")
For nCount = 1 To nFileNum
strPath(nCount) = Application.GetOpenFilename(fileFilter:="Microsoft Excel 工作簿(*.xls), *.xls")
If strPath(nCount) = "False" Then
MsgBox "请选择正确的文件", vbCritical
Exit Function
End If
Workbooks.Open Filename:=strPath(nCount), UpdateLinks:=0, ReadOnly:=False
strBookName(nCount) = ActiveWorkbook.Name
'以下代码是要全部执行的代码,如下一行,把每个工作簿和第一个工作表的A1单元格的值设置为A1
Workbooks(strBookName(nCount)).Worksheets(1).cells(1,1).value="A1"
'关闭,保存
Workbooks(strBookName(nCount)).Close True
Next nCount
End Sub
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询