多个excel文件批量需改vb代码
大概有1000个EXCEL文件,每个文件的VB代码都是一样的,需要增加一句代码,或者需改一段代码能否批量需改?以前都是一个一个复制的,太费事费力了!(EXCEL保存的是“...
大概有1000个EXCEL文件,每个文件的VB代码都是一样的,需要增加一句代码,或者需改一段代码能否批量需改?以前都是一个一个复制的,太费事费力了!(EXCEL保存的是“启用宏”格式)
object.Import(filename) As
VBComponent
这个怎么用? 展开
object.Import(filename) As
VBComponent
这个怎么用? 展开
2个回答
展开全部
首先要在选项-信任中心-宏设置里勾选信任VBA对工程对象的访问
Sub AddCode2()
pth = "D:\My Documents\" '在这里输入完整路径
fn = Dir(pth & "*.xlsm")
Do While fn <> ""
Set wb = Workbooks.Open(pth & fn)
With wb.VBProject.VBComponents("模块1").CodeModule '在这里修改代码所在的模块名
.InsertLines 2, "msgbox ""Hello""" '在这里修改插入的行号和代码
.InsertLines 3, "msgbox ""byebye""" '如果代码有多行就这样继续
End With
wb.Close True
Loop
End Sub
追问
没有成功啊!老是循环打开文件。——测试了几个小时,才发现这个代码只能循环在一个文件里添加代码,无限循环……,不能将整个文件夹里的所有文件都添加!!
因为所有文件里的程序都是一样的,就是你之前给我的,能否把这个文件单独放在一个文件,然后用其他文件调用(打开文件就可以直接调用),这样我就直接修改那个程序文件,就简单多了。
追答
Sub AddCode2()
pth = "D:\My Documents\" '在这里输入完整路径
fn = Dir(pth & "*.xlsm")
Do While fn <> ""
Set wb = Workbooks.Open(pth & fn)
With wb.VBProject.VBComponents("模块1").CodeModule '在这里修改代码所在的模块名
.InsertLines 2, "msgbox ""Hello""" '在这里修改插入的行号和代码
.InsertLines 3, "msgbox ""byebye""" '如果代码有多行就这样继续
End With
wb.Close True
fn = Dir
Loop
End Sub
不好意思,一时大意少写了一句
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |