我控制EXCEL列宽时使用ExcelWorksheet1.Columns[1].ColumnWidth := 10 ;为什么不可以?!!!还请各信大侠指点!!!

soscat 2001-10-10 12:54:30
我控制EXCEL列宽时使用ExcelWorksheet1.Columns[1].ColumnWidth := 10 ;为什么不可以?!!!
总是出现:
[Error] Unit1.pas(85): Class does not have a default property
请各信大侠指点!!!
...全文
583 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizhenjia 2001-10-10
  • 打赏
  • 举报
回复
我也用ExcelWorksheet控件试了一下,确实不让改!
不过用ExcelWorksheet.columns.autofit可以!
soscat 2001-10-10
  • 打赏
  • 举报
回复
用ExcelWorksheet就不能设置行高和列宽了吗?!
lizhenjia 2001-10-10
  • 打赏
  • 举报
回复
上面有一句话写错了,改为
//eworkbook.worksheets[1].columns.autofit;//如不自定义宽度,可以使各列自动对齐

lizhenjia 2001-10-10
  • 打赏
  • 举报
回复
这个一定好使,我用的ole,在use中加入comobj!
var
eapp,eworkbook:variant;
begin
eapp:=createoleobject('excel.application');
eapp.visible:=false;
eworkbook:=eapp.workbooks.add;
eworkbook.worksheets[1].name:='java';
eworkbook.worksheets[1].Columns[1].ColumnWidth := 40;
//exworksheet.columns.autofit;//使各列自动对齐
eapp.activeworkbook.saveas('c:\222.xls');
eapp.workbooks.close;
eapp.quit;
eapp:=unassigned;
showmessage('ok!');
end;


EP外星人 2001-10-10
  • 打赏
  • 举报
回复
Columns[1].SetWidth(....);
soscat 2001-10-10
  • 打赏
  • 举报
回复

var
tp: variant;
在BEGIN
tp := excelapplication1.Workbooks[1].Worksheets[1] ;
excelworksheet1.Range[tp.Columns[2],tp.Columns[2]].ColumnWidth := 10 ;
这样就行了。真怪!!!

5,931

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧