请问在EXCEL的VBA中如何以只读方式打开EXCEL文件?谢谢!

解决方案 »

  1.   

    应用于 Workbooks 对象的 Open 方法。打开一个工作簿。expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMru, Local, CorruptLoad)expression      必选。该表达式返回一个 Workbooks 对象。
      

  2.   

    Open 方法
                    開啟一個活頁簿。語法expression.Open(FileName, UpdateLinks, ReadOnly, Format, Password, WriteResPassword, IgnoreReadOnlyRecommended, Origin, Delimiter, Editable, Notify, Converter, AddToMRU)expression  必要的運算式。該運算式傳回一個 Workbooks 物件或 RecentFile 物件。FileName  必要的 String 資料型態。要開啟的活頁簿檔案名稱。UpdateLinks  選擇性的 Variant 資料型態。指定檔案中的連結的更新模式。如果省略本引數,則提示使用者選擇連結的更新模式。否則,該引數的取值應為下表的某個值。取值 意義 
    0 不更新任何參照。 
    1 更新外部參照,但不更新遠端參照。 
    2 更新遠端參照,但不更新外部參照。 
    3 更新所有遠端參照和外部參照。 
    如果 Microsoft Excel 正在開啟以 WKS、 WK1 或 WK3 格式儲存的檔案並且 UpdateLinks 引數設為 2,則 Microsoft Excel 根據與該檔案關連的圖形建立圖表。如果該引數設為 0 ,則不建立任何圖表。ReadOnly  選擇性的 Variant 資料型態。True 則以唯讀模式開啟活頁簿。Format  選擇性的 Variant 資料型態。如果 Microsoft Excel 正在開啟一個文字檔,則該引數用於指定分隔符號,如下表所示。如果省略本引數,則使用目前的分隔符號。取值 分隔符號 
    1 跳格 
    2 逗號 
    3 空白 
    4 分號 
    5 沒有分隔符號 
    6 自訂字元(參閱 Delimiter 參數) 
    Password  選擇性的 Variant 資料型態。該字串為用於開啟一個受保護活頁簿的密碼。如果省略該引數並且指定活頁簿已設定密碼,則提示使用者輸入密碼。WriteResPassword  選擇性的 Variant 資料型態。該字串為一個寫入保護活頁簿的寫入權密碼。如果省略該參數並且指定活頁簿已設定密碼,則提示使用者輸入密碼。IgnoreReadOnlyRecommended  選擇性的 Variant 資料型態。如果為 True 則設定 Microsoft Excel 固定不顯示建議唯讀訊息(如果該活頁簿以 Read-Only Recommended 選項儲存)。Origin  選擇性的 Variant 資料型態。如果該檔案為文字檔,則該引數用於指示該檔案的來自何種作業系統(以便對字碼頁和輸入鍵符號/換列(CR/LF)進行正確對應)。可為下列 XlPlatform 常數之一: xlMacintosh、 xlWindows 或 xlMSDOS。如果省略本引數,則使用目前作業系統。Delimiter  選擇性的 Variant 資料型態。如果該檔案為文字檔並且 Format 引數設為 6,則此引數用於指定用作分隔符號的字元。例如,可使用 Chr(9) 代表跳格,使用 "," 代表逗號,使用 ";" 代表分號或者使用自訂字元。如果該參數為字串,則只使用該字串的第一個字元。Editable  選擇性的 Variant 資料型態。如果該檔案為 Microsoft Excel 4.0 增益集,則該引數為 True 時可在可見視窗中開啟該增益集。如果該引數設為 False 或者省略該引數,則該增益集以隱藏模式開啟,並且無法設為可見。本選項無法適用於由 Microsoft Excel 5.0 或更新版本的 Microsoft Excel 建立的增益集。如果該檔案是個 Excel 範本,True 則開啟指定的範本進行編輯。False 則開啟一個根據指定的範本而建立的活頁簿。預設值為 False。Notify  選擇性的 Variant 資料型態。如果該檔案無法以可讀寫模式開啟,則若該引數設為 True 可將該檔案新增到檔案通知清單。 Microsoft Excel 將以唯讀模式開啟該檔案並輪詢檔案通知清單,當檔案通知清單中的該檔案可用時則通知使用者。如果該引數設為 False,或者省略該引數,則不請求任何通知,並且無法開啟任何無法使用的檔案。Converter  選擇性的 Variant 資料型態。開啟檔案時試用的第一個檔案轉換程式的索引號。首先使用的是指定的檔案轉換程式;如果該轉換程式無法識別此檔案,則試用所有的轉換程式。轉換程式索引號由 FileConvertersxlproFileConverters>langref 方法所傳回的轉換程式列號組成。AddToMru  選擇性的 Variant 資料型態。如果為 True 則將該活頁簿新增到最近使用檔案清單中。預設值為 False。註解如果正在開啟的活頁簿包含 Auto_Open 巨集,則若在 Visual Basic 中開啟該活頁簿這些巨集將不執行。如果要執行 Auto_Open 巨集,必須使用 RunAutoMacrosxlmthRunAutoMacros>langref 方法。
      

  3.   

    那请问,在已只读打开excel后,在vba中可不可以修改它的属性为可读写???
      

  4.   

    在已只读打开excel后,在vba中修改它的属性为可读写代码如下:
    ActiveWorkbook.ChangeFileAccess xlReadWrite