var wordapp:variant; exelapp:variant; begin wordapp:=olecreateobject('word.application'); wordapp.visible:=true; exelapp:=loecreateobject('execl.application'); exelapp.visible:=true; .end;
dialogs(hyf) 的方法好像编译通不过,不知是什么问题? excelhandle是variant类型,filename是pchar类型 问题出在filename上,ExcelHandle.WorkBooks.Open(FileName);它出现这个错误[Error] Unit1.pas(36): Type not allowed in OLE Automation call。 我的createoleobject是这样的: function CreateOleObject(const ClassName: string): IDispatch; var ClassID: TCLSID; begin ClassID := ProgIDToClassID(ClassName); OleCheck(CoCreateInstance(ClassID, nil, CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IDispatch, Result)); end;不知对不对???
exelapp:variant;
begin
wordapp:=olecreateobject('word.application');
wordapp.visible:=true;
exelapp:=loecreateobject('execl.application');
exelapp.visible:=true;
.end;
ExcelHandle.Visible:=true;
FileName:='D:\pm\report\Book1.xls';
ExcelHandle.WorkBooks.Open(FileName);
dialogs(hyf) 的 OLE
Apollo47(阿波罗) 的 SHELL
excelhandle是variant类型,filename是pchar类型
问题出在filename上,ExcelHandle.WorkBooks.Open(FileName);它出现这个错误[Error] Unit1.pas(36): Type not allowed in OLE Automation call。
我的createoleobject是这样的:
function CreateOleObject(const ClassName: string): IDispatch;
var
ClassID: TCLSID;
begin
ClassID := ProgIDToClassID(ClassName);
OleCheck(CoCreateInstance(ClassID, nil, CLSCTX_INPROC_SERVER or
CLSCTX_LOCAL_SERVER, IDispatch, Result));
end;不知对不对???