我正在调试的delphi 5程序中有这段代码:

s:string
vararray:variant;

vararray := VarArrayOf(['']);
vararray := ExcelWorkSheet1.UsedRange[0].Value;
s := VarToStr(vararray);


当运行Excel XP和2003时,这可以完美地工作。但是自从我更改为Excel 2007(也为Windows7)以来,delphi在最后一行给出了一个变量类型转换错误(“无效变量类型转换”)。

有人可以帮我这个忙吗?过去5年没有触及过此代码,我无法找到记录这些组件的良好来源

谢谢!

最佳答案

我设法使以下工作:

Sheet := Workbook.Sheets.Item[1] as ExcelWorksheet;
value := Sheet.Range['A1','B1'].Value;
Edit1.Text := value[1,1];
Edit2.Text := value[1,2];


请注意,我正在通过Excel2000导入单元使用早期绑定。我认为您可能正在使用CreateComObject('Excel.Application')的后期绑定。

我不理解您的Range[1,2]语法-似乎不符合Excel对象模型的要求。

我希望这有帮助。

08-25 21:33