我正在调试的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对象模型的要求。我希望这有帮助。