2012-06-25 181 views
0

我想讀密碼保護的excel文件,我遇到的問題是下面的代碼是它沒有照顧密碼,而是excel應用程序打開,但用戶必須去任務欄並單擊Excel應用程序查看密碼查詢。使用matlab讀密碼保護excel文件

path = fullfile(pwd,'tests.xls') 

e=actxserver('excel.application'); 
eW = e.Workbooks; 
eF = eW.Open(file3,'GSL'); 


[num,txt,raw] = xlsread(file3, 1); 

回答

2

我可以想出兩種方法來解決問題。我無法訪問Windows機器,因此您必須自己弄清楚細節:

  1. 使用Matlab的GUI功能詢問用戶密碼。然後,將該密碼連同文件名(Excel Open method documentation)一起提供給Open方法。

  2. 調用actxserver之後,嘗試使Excel窗口變爲焦點,以便在打開文件時密碼對話框可見。像描述here應該工作。使用Interface.Microsoft_Excel_12.0_Object_Library.Workbooks /打開 調用錯誤

+0

錯誤,調度異常: 來源:Microsoft Office Excel中 說明:工作簿類的OPEN方法失敗 幫助文件:C:\ Program Files文件(86 )\ Microsoft Office \ Office12 \ 1033 \ XLMAIN11.CHM 幫助上下文ID:0 Search_Tool中的錯誤> open_file_Callback(line 866) eF = eW.Open('H:\ tests.xls','GSL'); – nman84

+0

我正在做什麼,我問在上面的問題得到最高的錯誤。 – nman84

+0

爭論的'GSL'部分是什麼?在文檔中無法看到。 – nimrodm