用OLE创建excel对象時報錯:‘伺服器執行失敗!’(100分)

  • 主题发起人 主题发起人 zz_yang
  • 开始时间 开始时间
Z

zz_yang

Unregistered / Unconfirmed
GUEST, unregistred user!
excel:= CreateOleObject('Excel.Application');
執行到此時報錯:‘伺服器執行失敗!’

請問各位大蝦,應該如何解決?
 
不会excel没有安装吧。
 
excel或列表機也有關
最好把你的配置及代碼發出來看一下。
 
To:zengzhijiang1758
代碼如下:
uses
......,COMOBJ;
......

var
ExcelApp:OleVariant; 
......
try
ExcelApp := CreateOleObject('Excel.Application');//在這裡出錯
except
Screen.Cursor := crDefault;
Exit;
end;

代碼比較長只是把比較重要的貼出來了!我用的是Office 2003繁體版,把Office 2003卸載了再重新安裝也還是不行!
To:zywcd
不好意思,是我沒有把問題說明白,代碼我己經貼出來了,麻煩幫我看看!
 
我在本机运行你的代码没有问题。
 
先手动运行Excel看下有没有问题,
 
如果还不行,
卸载掉office2003,install office2000,try again....
 
以下是本人一個代碼希望能help your
procedure Tmonth_pc_stock_f.BitBtn4Click(Sender: TObject);
var v,st:variant;
I:integer;
begin
screen.Cursor:=crhourglass;
adostoredproc3.Active:=false;
adostoredproc3.Active:=true;
if adostoredproc3.RecordCount>0 then
begin
v:=createoleobject('excel.application');
v.workbooks.add(getcurrentdir+'/report/min_inventory');
st:=v.workbooks[1].worksheets[1];
st.select;
v.visible:=true;
I:=2;
try
adostoredproc3.DisableControls;
adostoredproc3.First;
while adostoredproc3.eof=false do
begin
st.cells[i,1]:=adostoredproc3ym.AsString;
st.cells[i,2]:=adostoredproc3pos.AsString;
st.cells[i,3]:=adostoredproc3mat_no.AsString;
st.cells[i,4]:=adostoredproc3m_qty.AsString;
st.cells[i,5]:=adostoredproc3mat_nm.AsString;
I:=I+1;
adostoredproc3.next;
end;
adostoredproc3.EnableControls;
Application.Restore;
Application.BringToFront;
screen.Cursor:=crdefault;
MessageDlg(' 資料轉出成功 !', mtInformation, [mbYes], 0);
except
screen.Cursor:=crdefault;
adostoredproc1.EnableControls;
MessageDlg(' 資料沒有轉完而終止', mtWarning, [mbYes], 0);
end;
end
else
MessageDlg('沒有資料!', mtError, [mbYes], 0);
end;
 
To All:
可能是系統有問題,我以前是沒有問題的,我打算重裝系統了,沒有辦法了!
謝謝各位,我准備結貼了!
 
多人接受答案了。
 
后退
顶部