⑴ 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