Excel VBA选择文件、高容错性地打开文件
生活随笔
收集整理的這篇文章主要介紹了
Excel VBA选择文件、高容错性地打开文件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
VBA選擇文件
?
Sub SelectFile()Dim FileName As Variant '打開文件對話框返回的文件名,是一個全路徑文件名,其值也可能是False,因此類型為VariantDim sFileName As String '從FileName中提取的文件名Dim sPathName As String '從FileName中提取的路徑名Dim aFile As Variant '數組,提取文件名sFileName時使用Dim ws As Worksheet '存儲文件路徑名和文件名的工作表Set ws = Worksheets("Sheet1") '設置工作表FileName = Application.GetOpenFilename("Excel 文件 (*.xls),*.xls")'調用Windows打開文件對話框If FileName <> False Then '如果未按“取消”鍵aFile = Split(FileName, "\") '在全路徑中,以“\”為分隔符,分成數據sPathName = aFile(0) '取盤符For i = 1 To UBound(aFile) - 1 '循環(huán)合成路徑名sPathName = sPathName & "\" & aFile(i)NextsFileName = aFile(UBound(aFile)) '數組的最后一個元素為文件名ws.Cells(1, 2).Value = sPathName '保存路徑名ws.Cells(2, 2).Value = sFileName '保存文件名End If End Sub ?選擇打開文件后并沒有真實的把它打開,然后高容錯性地打開文件
?
Function OpenExcelFile(sPath As String, ByVal sFileName As String, bDisplay As Boolean, sPwd As String) As Integer'打開Excel文件'Ver 1.05'完成時間:2007.12.01'設計:美猴王軟件工作室 www.okexcel.com.cn'參數說明:'sPath:文件絕對路徑;sFileName:Excel文件名;bDisplay:True顯示錯誤信息;sPwd:文件打開密碼'返回值:-1:同名文件已經打開;-2:文件不存在或密碼錯誤;0:成功打開;1:文件已經被打開Dim bOpen As BooleanDim sFullName As StringOn Error Resume NextIf InStr(LCase(sFileName), ".xls") = 0 Then sFileName = sFileName & ".xls"sFullName = Workbooks(sFileName).FullName'檢查是否已經打開同名的Excel文件'如果有sFullName不為空On Error GoTo 0bOpen = FalseIf sFullName <> "" ThenIf LCase(sFullName) = LCase(sPath & "\" & sFileName) ThenbOpen = True'判斷已經打開的同名文件是否本次需要打開的文件OpenExcelFile = 1'文件已經被打開ElseIf bDisplay ThenMsgBox "請首先關閉“" & sFileName & "”文件!" & Chr(13) & "不能同時打開同名文件,這是Excel的規(guī)定!", vbOKOnly + vbExclamation, "文件的打開錯誤"End IfbOpen = TrueOpenExcelFile = -1'不能同時打開同名文件,這是Excel的規(guī)定End IfEnd IfIf Not bOpen ThenOn Error GoTo errOpenWorkbooks.Open Filename:=sPath & "\" & sFileName, Password:=sPwdOn Error GoTo 0OpenExcelFile = 0'成功打開文件End IfExit Function errOpen:If bDisplay Then MsgBox Err.Description, vbOKOnly + vbExclamation, "文件的打開錯誤"OpenExcelFile = -2'文件不存在或密碼錯誤On Error GoTo 0 End Function ??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Excel VBA选择文件、高容错性地打开文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 继电器是如何成为CPU的(2)
- 下一篇: 管理Linux终端的screen命令示例