① vba怎樣打開指定路徑的excel文件
打開文件如下:Workbooks.Open ("C:\對賬單\對帳單.xlsx")這里你可以把「C:\對賬單\」換成你的絕對路徑,你可以用:a = ThisWorkbook.Patha = ThisWorkbook.PathWorkbooks.Open ("" & a & "&" \ "&對帳單.xlsx")來獲取你當前表的絕對路徑,然後再打開,因為不知道你的具體情況,如果有問題可以hai我 如果當前文件夾下還有A文件夾可以用代碼:Workbooks.Open ("" & a & "&" \ A\"&b.xlsx")Microsoft Excel是Microsoft為使用Windows和Apple Macintosh操作系統的電腦編寫的一款電子表格軟體。直觀的界面、出色的計算功能和圖表工具,再加上成功的市場營銷,使Excel成為最流行的個人計算機數據處理軟體。在1993年,作為Microsoft Office的組件發布了5.0版之後,Excel就開始成為所適用操作平台上的電子製表軟體的霸主。
② 用vba如何導入一個文件夾里的文件絕對路徑(包含擴展名)到excel里
Sub MMM()
Dim myPath$, myFile$, i&
Application.ScreenUpdating = False
myPath = "D:\新建文件夾" & "\"
myFile = Dir(myPath & "*.*")
Do While myFile <> ""
i = i + 1
Cells(i, 1) = myPath & myFile
myFile = Dir
Loop
Application.ScreenUpdating = True
End Sub
③ 如何通過VBA,獲得本文件所在的文件夾路徑。
Subs()
Dimpth$
pth=ThisWorkbook.Path
MsgBox"本文件的路徑為:"&pth
EndSub
④ Excel VBA 基礎(04.3) - 常用擴展庫之FileSystemObject
本節介紹使用VBA處理文件IO(input/output)的擴展庫FileSystemObject(FSO)。FSO在之前多表交互案例中已初步接觸,通過指定文件夾路徑遍歷所有文檔,對Excel文件進行操作。以下實戰示例:修改指定根路徑下所有文件名稱和最後修改時間。
在年報審計中,可能在約定的時間范圍外已開始或結束,內部稽核通常要求調整所有工作底稿的最後修改時間。此示例要求遍歷文件路徑,獲取文件對象,修改各文件的LastModify屬性,注意生成隨機時間。
首先,遍歷文件路徑,獲取文件對象。使用FSO下的.getFolder方法,接收文件夾絕對路徑參數。通常採用相對路徑,確定目標文件夾絕對路徑,即宏工作表路徑結合指定目標文件夾路徑。獲取子文件夾和文件集合,對於子文件夾進行遞歸遍歷,單個文件處理。
將此方法封裝,處理函數為過程文件。設置前綴字元串,如年度及索引號。修改文件最後修改時間通過CMD shell擴展,更改文件.ModifyDate屬性,生成起始到終止日之間的隨機日期。
生成指定范圍內的日期和時間,使用之前文章中介紹的函數。整個代碼涉及在模塊作用域內聲明變數、常量,適用於當前模塊。不同功能封裝,便於維護與協作。
理解遞歸遍歷文件路徑方法,解決大多數問題。文本文件讀寫操作不常見,相關示例放在實戰部分。FSO中的File、Folder對象屬性請查閱API文檔。
本期示例文件提供下載。如有問題,請在下方留言。本專欄文章版權歸屬作者,未經授權,除知乎日報外,任何人不得轉載。
⑤ 專家您好,vba下如何打開路徑名帶空格的目錄,雙引號""的轉義符
完全可以用其它辦法!
而不必用sheel來打開目錄
打開目錄的目的在於對其下的文件或者文件夾進行操作!!!
而VBA有很多方法可以直接操作文件和文件夾,而不必打開目錄
如果是改變當前目錄也完全可以用CHDIR
雖然沒有回答樓主的問題,但是個人覺得如果有直接操作的方法,建議採用直接指定絕對目錄操作文件等等,而不必先打開目錄.
如果非要這么做,可以這樣
cdstr="E:\my 4s"
Shell "explorer " & cdstr
⑥ vba 遍歷指定文件夾(含子目錄)獲取文件名,哪種方法速度最快
Sub LoopAllExcelFilesInFolder()
Dim wb As Workbook
Dim myPath As String
Dim myFile As String
Dim myExtension As String
Dim FldrPicker As FileDialog
'這里很關鍵,決定宏執行快慢的關鍵
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'打開目錄選擇框
Set FldrPicker = Application.FileDialog(msoFileDialogFolderPicker)
With FldrPicker
.Title = "請選擇目錄"
.AllowMultiSelect = False
If .Show <> -1 Then GoTo NextCode
myPath = .SelectedItems(1) & "\"
End With
'取消選擇
NextCode:
myPath = myPath
If myPath = "" Then GoTo ResetSettings
'指定過濾的文件後綴
myExtension = "*.xls*"
'遍歷全路徑
myFile = Dir(myPath & myExtension)
'循環處理每一個文件
Do While myFile <> ""
'打開
Set wb = Workbooks.Open(Filename:=myPath & myFile)
'確保工作簿被打開,在處理下一個文件時
DoEvents
'設置背景色
wb.Worksheets(1).Range("A1:Z1").Interior.Color = RGB(51, 98, 174)
'保存工作簿
wb.Close SaveChanges:=True
'確保工作簿被關閉,在處理下一個文件時
DoEvents
'接著處理下一個
myFile = Dir
Loop
'提示處理完成
MsgBox "處理完成!"
ResetSettings:
'恢復設置
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub