⑴ VBA 如何显示文件夹,就是只打开文件夹就可以了
直接使用Shell函数,使用explorer.exe来打开文件夹即可。代码如下:
Subshowdir()
Shell"explorer.exeD:dir",vbNormalFocus
EndSub
效果如下:
Shell 函数说明
运行可执行程序并在成功时返回表示程序的任务 ID 的 Variant (Double),否则返回零。
语法
Shell(pathname[,windowstyle])
Shell 函数语法具有以下命名参数:
组成部分
说明
pathname
必需;Variant (String)。要执行的程序的名称以及任何必需的参数或命令行开关;可能包括目录或文件夹和驱动器。在 Macintosh 中,可以使用 MacID 函数指定应用程序的签名,而不是名称。以下示例使用 Microsoft Word 的签名:
Shell MacID("MSWD")
windowstyle
可选。与要运行程序的窗口的样式对应的 Variant (Integer)。如果省略 windowstyle,程序将启动并最小化,但会获得焦点。在 Macintosh(System 7.0 或更高版本)中,windowstyle 只确定应用程序在运行时是否获得焦点。
windowstyle 命名参数具有以下值:
常量 值 说明
vbHide 0 隐藏窗口并将焦点传递给隐藏的窗口。vbHide 常量在 Macintosh 平台中不适用。
vbNormalFocus 1 窗口获得焦点,并还原到其原始尺寸和位置。
vbMinimizedFocus 2 窗口显示为具有焦点的图标。
vbMaximizedFocus 3 窗口最大化并具有焦点。
vbNormalNoFocus 4 窗口还原到最近的尺寸和位置。当前活动的窗口仍保持活动状态。
vbMinimizedNoFocus 6 窗口显示为图标。当前活动的窗口仍保持活动状态。
注释
如果 Shell 函数成功执行命名文件,它将返回已启动程序的任务 ID。任务 ID 是标识正在运行的程序的唯一编号。如果 Shell 函数无法启动指定的程序,则会发生错误。
在 Macintosh 中,vbNormalFocus、vbMinimizedFocus 和 vbMaximizedFocus 都将应用程序放在前台;vbHide、vbNoFocus、vbMinimizeFocus 都将应用程序放在后台。
⑵ VBA如何获取当前EXCEL文件的路径
1、首先打来开Excel数据表,在开发自工具中打开VBA编辑器。
⑶ 如何用VBA复制整个文件夹包括子目录
Sub Files(Path As String, afterPath)
'Path:原文件夹路径;afterPath:目标文件夹路径
Dim Spath As String
Set fs = CreateObject("Scripting.FileSystemObject")
Spath = Dir(Path, vbDirectory)
Do While Len(Spath)
If Spath <> "." And Spath <> ".." Then
fs.CopyFolder Path, afterPath
Spath = Dir()
End If
Loop
End Sub
————————————————
版权声明:本文为CSDN博主「前端小菜鸟007」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41844140/article/details/103188537
⑷ 如何运用VBA将指定路径下的某一文件复制到另一指定路径下
1、首先打开工作表凳正空,点击【开发工具】下的【Visual Basic 】选项。
⑸ EXCEL如何使用VBA打开相对路径下的文件或文件夹
打开文件如下:
Workbooks.Open ("C:对账单对帐单.xlsx")
这里你可以把“C:对账单”换成你的绝对路径,
你可以用:a = ThisWorkbook.Path
a = ThisWorkbook.Path
Workbooks.Open ("" & a & "&" "&对帐单.xlsx")
来获取你当前表的绝对路径,然后再打开,因为不知道你的具体情况,如果有问题可以hai我
如果当前文件夹下还有A文件夹可以用代码:
Workbooks.Open ("" & a & "&" A"&b.xlsx")
⑹ 用VBA如何批量将工作表保存到指定的文件夹
用vba保存到指定的文件夹,这种情况下,我们就是在电脑上先建立一个文件夹,然后上传保存就可以了
⑺ VBA 怎么提取二级、三级文件夹下的文件
如果只是修改你说的内容就比较简单,要提取子文件夹中的文件,用VBA也是可以的。写起来有点麻烦,还不如直接用个DOS命令先提取文件名,这样来得快:
1:运行->cmd然后会出来命令提示符,再输入dir e:\access /B/S *.xls > e:\data.xls (以上是直接把e盘access这个文件夹中的所有.xls文件和子文件夹中的.xls文件名提取出来并保存到e盘的data.xls中)(data.xls是自己生成不用新建)
2:打开data.xls文件,就会发现A列全是文件路径和名称,然后在B列把A列的文件名分离出来。
然后建一个commandbutton,输入以下代码:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False '关闭屏幕刷新
Application.DisplayAlerts = False '禁用所有事件
for i=1 to range("a65536").end(xlup).row
Workbooks.Open range("a"&i)
For Each sht In Sheets
If sht.Name = "Sheet1" Then
sht.Range("D3") = "己复核"
End If
Next
workbooks(trim(range("b"&i))).Close True
next
Application.DisplayAlerts = True ' 启用所有事件
Application.ScreenUpdating = True '打开屏幕刷新
END SUB