關於 could not convert variant of type (dispatch) into type (string)?? |
答題得分者是:pceyes
|
l730626
一般會員 發表:22 回覆:21 積分:8 註冊:2009-03-29 發送簡訊給我 |
|
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
老大仔大大說得沒錯, 是 datatype 不對. 發生問題的那個 cell 是 dispatch 型, 也就是 指向一個 automation 物件的 pointer. 我想最直接(兵來將擋)的方法是 先用 varType function 去判斷是否是 dispatch 型, 如果不是再用 string 去轉型和 edit2.text 去比較 if varType(MsExcel.Cells[I,j]) <> varDispatch then begin // 您原來的程式段 IF (STRING((MsExcel.Cells[I,j]))=edit2.Text) THEN .... end; 參考一下, ps. 我沒實測哦, 請自行測一下 又, 另一方法是用 try ... except ... end 結構去排除不能轉的, 不過可能不是好方法, 因有可能包容其他錯誤.
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
|
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
===================引 用 l730626 文 章=================== 如題 我用delphi去讀excel~ 然後判定如果該excel裡有某關鍵字時就列出該檔名與表格名 可以執行程式時~都會出現 could not convert variant of type (dispatch) into type (string) 然後就會中斷程式~程式停在以下這一行~ IF (STRING((MsExcel.Cells[I,j]))=edit2.Text) THEN 請問各位先進~我有哪邊語法是錯誤的?~還是我應該怎麼修改?? |
pceyes
尊榮會員 發表:70 回覆:657 積分:1140 註冊:2003-03-13 發送簡訊給我 |
|
老大仔
尊榮會員 發表:78 回覆:837 積分:1088 註冊:2006-07-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |