返回列表 上一主題 發帖

EXCEL 03 及 07 巨集兼容問題

EXCEL 03 及 07 巨集兼容問題

巨集執行時, 可判斷是EXCEL 03版或 EXCEL 07版本嗎?
因為有部份語法在03用唔到

在03及07版使用同一巨集時, 如何當新檔案儲存時, 設定儲存為03版" XLS" 的檔案格式
只知在07版可以設定儲存引數
ActiveWorkbook.SaveAs Filename:=book1 ,fileformat:= xlexcel8
但引數在03版又會出現錯誤

請指教

回復 1# enoch

Application.Version
學海無涯_不恥下問

TOP

Sub 查詢Excel版本()
On Error GoTo error1
Dim myVersion As String
    Select Case Val(Application.Version)
        Case 5
            myVersion = "5.0"
        Case 7
            myVersion = "95"
        Case 8
            myVersion = "97"
        Case 9
            myVersion = "2000"
        Case 10
            myVersion = "2002"
        Case 11
            myVersion = "2003"
        Case 12
            myVersion = "2007"
       Case 14
            myVersion = "2010"
        Case Else
            myVersion = "版本不明"
    End Select
    MsgBox "你的Excel是" & myVersion & "版", vbInformation
error1: End Sub
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

多謝hsieh版主的經常指教 ,今次更多謝HUNGCHILIN 的補充

TOP

請問我應該如何設定, 不論在03或07版, 都儲存成".xls" 呢
因為個程式在03版使用時,  當預到xlexcel8 就會顯示變數未定義
若果不定義fileformat:= xlexcel8, 07版又會自動儲存成07格式
請指教

TOP

Sub 巨集1()
If Val(Application.Version) >= 12 Then '2007 SAVE
ActiveWorkbook.SaveAs "C:\Users\user\Desktop\活頁簿1.xls", FileFormat:=xlExcel8
Else
ActiveWorkbook.SaveAs "C:\Users\user\Desktop\活頁簿1.xls"
End If
End Sub

路徑自己改一改
Hung-Chi Lin/林宏吉
HUNGCHILIN/林宏吉的OFFICE專欄

TOP

我有試過, 但當在03版執行時,
因為使用咗 Option Explicit 會指
xlExcel8 變數未定議,
除咗取消Option Explicit 外, 有其他方法嗎?

TOP

回復 7# enoch
用常數帶入試試
  1. Sub ex()
  2. Dim sf As Long
  3. sf = IIf(Val(Application.Version) <= 11, 51, 56)
  4. ActiveWorkbook.SaveAs Filename:="D:\format.xls", FileFormat:=sf
  5. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 8# Hsieh


    請問 H 大.
      sf = IIf(Val(Application.Version) <= 11, 51, 56)

     這段程式碼中的 11, 51, 56 ,可否能再解釋一下, 因為剛在 Excel 2010 查到的常數含意如下:
11: xlDBF4
56: xlExcel8
51 : xlOpenXMLWorkbook((開啟 XML 活頁簿?!)

尤其是 11, 56 這兩個常數值的用意為何?

TOP

本帖最後由 Hsieh 於 2012-6-1 20:09 編輯

回復 9# alumi
其中11是2003版本的編號
其他2個數值對照下表的FileFormat值
xlWorkbookDefault        51        預設活頁簿
xlExcel8                                56        Excel8
Excel 2010 開發人員參考 > Excel 物件模型參考 > 列舉               
               
XlFileFormat 列舉               
會指定儲存工作表時的檔案格式。               
版本資訊               
新增的版本: Excel 2007               

  • 名稱        值        描述
  • xlAddIn        18        Microsoft Excel 97-2003 增益集
  • xlAddIn8        18        Microsoft Excel 97-2003 增益集
  • xlCSV        6        CSV
  • xlCSVMac        22        Macintosh CSV
  • xlCSVMSDOS        24        MSDOS CSV
  • xlCSVWindows        23        Windows CSV
  • xlCurrentPlatformText        -4158        目前平台文字
  • xlDBF2        7        DBF2
  • xlDBF3        8        DBF3
  • xlDBF4        11        DBF4
  • xlDIF        9        DIF
  • xlExcel12        50        Excel12
  • xlExcel2        16        Excel2
  • xlExcel2FarEast        27        Excel2 FarEast
  • xlExcel3        29        Excel3
  • xlExcel4        33        Excel4
  • xlExcel4Workbook        35        Excel4 活頁簿
  • xlExcel5        39        Excel5
  • xlExcel7        39        Excel7
  • xlExcel8        56        Excel8
  • xlExcel9795        43        Excel9795
  • xlHtml        44        HTML 格式
  • xlIntlAddIn        26        國際增益集
  • xlIntlMacro        25        國際巨集
  • xlOpenDocumentSpreadsheet        60        OpenDocument 試算表
  • xlOpenXMLAddIn        55        開啟 XML 增益集
  • xlOpenXMLTemplate        54        開啟 XML 範本
  • xlOpenXMLTemplateMacroEnabled        53        開啟 Open XML 範本巨集啟用
  • xlOpenXMLWorkbook        51        開啟 XML 活頁簿
  • xlOpenXMLWorkbookMacroEnabled        52        開啟 XML 活頁簿巨集啟用
  • xlSYLK        2        SYLK
  • xlTemplate        17        範本
  • xlTemplate8        17        範本 8
  • xlTextMac        19        Macintosh 文字
  • xlTextMSDOS        21        MSDOS 文字
  • xlTextPrinter        36        印表機文字
  • xlTextWindows        20        Windows 文字
  • xlUnicodeText        42        Unicode 文字
  • xlWebArchive        45        Web 封存
  • xlWJ2WD1        14        WJ2WD1
  • xlWJ3        40        WJ3
  • xlWJ3FJ3        41        WJ3FJ3
  • xlWK1        5        WK1
  • xlWK1ALL        31        WK1ALL
  • xlWK1FMT        30        WK1FMT
  • xlWK3        15        WK3
  • xlWK3FM3        32        WK3FM3
  • xlWK4        38        WK4
  • xlWKS        4        工作表
  • xlWorkbookDefault        51        預設活頁簿
  • xlWorkbookNormal        -4143        一般活頁簿
  • xlWorks2FarEast        28        Works2 FarEast
  • xlWQ1        34        WQ1
  • xlXMLSpreadsheet        46        XML 試算表
學海無涯_不恥下問

TOP

        靜思自在 : 真正的愛心,是照顧好自己的這顆心。
返回列表 上一主題