使用servers控件控制excel的问题(50分)

  • 主题发起人 主题发起人 MayTwelve
  • 开始时间 开始时间
M

MayTwelve

Unregistered / Unconfirmed
GUEST, unregistred user!
很简单的一个程序,窗体上只有一个按钮,用来打开一个excel文件,替换其中的一些数据格。
问题在于关闭excel窗口后(使用excel窗体右上的叉叉^_^),再次
单击button1企图打开excel时,excel的工作部分不可见!!而菜单
栏和状态栏却都还在,也可以打印预览。这是为什么呢?
程序如下:
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i,j:Integer;
x:string;
begin
ExcelApplication1.Connect;
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Caption :='应用程序调用 Microsoft Excel';
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Add ('f:/tt.xlt',0));
ExcelWorksheet1.Visible[0]:=1;
//给单元格赋值:
for i:=1 to 100 do
begin
for j:=1 to 10 do
begin
x:=excelapplication1.Cells.Item[i,j];
if x='PTBH' then
excelapplication1.Cells.Item[i,j]:=11;
if x='K0x' then
excelapplication1.Cells.Item[i,j]:=0.3265;
end;
end;
end;
 
唉,怎么都每人回答呢?只好自己先顶一下了。[:(]
 
这样说明没有工作表,也就是你的工作表加的不对吧。不是很明白,看看这个应该有帮助。

ExcelApplication1.Workbooks.Open (c:/a.xls
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0)
 
唉,还是自己解决了问题。
不用控件,使用CreateOleObject。[:)]
 
不要直接拉空间上去。
用TExcelApplication.Create()来创建实例,
最后再Free一下,就没有问题了。
 

Similar threads

S
回复
0
查看
896
SUNSTONE的Delphi笔记
S
S
回复
0
查看
873
SUNSTONE的Delphi笔记
S
I
回复
0
查看
847
import
I
后退
顶部