【VBA研究】儲存和開啟Excel檔案的程式碼
經常用到儲存處理之後的Excel檔案,儲存的格式有xls和xlsx兩種,這裡記錄一下儲存程式碼,因為經常用到。不同版本下指定儲存檔案格式的常數略有不同,下面是2010版將已開啟的檔案儲存為xlsx格式的程式碼:
'DatFile是開啟的Excel檔名
expfile = ThisWorkbook.Path & "\new" & Left(DatFile, InStr(DatFile, ".") - 1)
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=expfile, FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
Application.DisplayAlerts = True
如果儲存xls格式(97-2003工作簿),則需要令FileFormat:=xlExcel8。
如果和原來的檔案格式一樣,只是換個檔名,不指定格式也是可以的,如下:
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\new" & datfile
Application.DisplayAlerts = True
ActiveWindow.Close
下面的程式碼是我用來開啟Excel檔案或者固定格式的文字檔案的函式:
'開啟檔案 Function OpenFile(fname As String) As Long FullName = ThisWorkbook.Path & "\" & fname If Dir(FullName, vbNormal) <> vbNullString Then If Right(fname, 3) = "log" Then Workbooks.OpenText Filename:=FullName, Origin:=936, StartRow:=1, DataType:=xlDelimited, Tab:=True Columns("A:A").Select Selection.NumberFormatLocal = "000000" Columns("A:F").Select Selection.Columns.AutoFit Else Workbooks.Open Filename:=FullName End If OpenFile = Range("A" & Cells.Rows.Count).End(xlUp).Row Else MsgBox "資料檔案不存在!", vbOKOnly, "iamlaosong" OpenFile = 0 End If End Function