关于vba的问题:请问在vba里需要依次打开文件夹下面的文件名包含“资产信息”的excel表格文件,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于vba的问题:请问在vba里需要依次打开文件夹下面的文件名包含“资产信息”的excel表格文件,相关的知识,希望对你有一定的参考价值。
关于vba的问题:请问在vba里需要依次打开文件夹下面的文件名包含“资产信息”的excel表格文件,然后执行一个宏命令,保存并关闭,代码该怎么写啊?求大神指导
参考技术A Sub 批量打开文件()Dim fd As FileDialog, Item As Integer
Dim BCDE As Workbook
'弹出一个浏览文件的窗口,可以多选目标文件
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'如果选择了文件
If fd.Show = -1 Then
'遍历所有文件
For Item = 1 To fd.SelectedItems.Count '逐个打开文件
If InStr(BCDE.Name, "资产信息") Then
Workbooks.Open (fd.SelectedItems(Item))
endif
Next Item
End If
End Sub
Sub 关闭工作窗口()
On Error Resume Next '忽略错误并重新执行下一行代码
Dim BCDE As Workbook ‘逐个工作薄循环,
For Each BCDE In Workbooks
BCDE.Activate
If InStr(BCDE.Name, "XX“) = 0 Then’XX表示不关闭的文件,如果不需要就去掉这个语句
Workbooks(BCDE.Name).Close True
End If
Next BCDE追问
If InStr(BCDE.Name, "资产信息") Then
提示说这里少了一个with,这个我不会,还要麻烦你一下,还有要运行宏的话是怎么调用呢?用快捷键还是用宏名?
Sub 打开()
dim mypath as string
dim myname as string
mypath=ThisWorkbook.Path & "\路径名\"
myname=dir(mypath,vbdirectory)
Do While myname ""
If InStr(myname, "包含的文件名") 0 Then
Workbooks.Open Filename:=mypath & myname
End If
myname = Dir
Loop
End Sub$ post_type
用宏名
Do While fName <> ""
Workbooks.Open Filename:=fName
‘调用你的宏
ActiveWorkbook.Close SaveChanges:=True
fName = Dir
Loop
EXCEL VBA中可调用VB的DLL文件中的程序,请问VB程序运行时需要一些有关VB的链接库文件,
当EXCEL VBA调用DLL文件中程序时,如电脑中无VB的链接库文件,程序能正常运行吗。请指导,谢谢
若本电脑中无,则不能。 参考技术A 如果dll文件是从VB建的,那必须确认DLL中是否引用了VB特有的东西,如果是,则可能无法运行。以上是关于关于vba的问题:请问在vba里需要依次打开文件夹下面的文件名包含“资产信息”的excel表格文件,的主要内容,如果未能解决你的问题,请参考以下文章
EXCEL VBA中可调用VB的DLL文件中的程序,请问VB程序运行时需要一些有关VB的链接库文件,
请问用vba在excel表里指定内容转成文本一键自动发到指定的微信群上?求帮忙!