首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > VFP >

VFP中导入EXCEL表时提示找不到EXCEL.APPLICATION类定义,应怎么解决

2012-04-28 
VFP中导入EXCEL表时提示找不到EXCEL.APPLICATION类定义,应如何解决?在VFP8.0表单的命令框中设计了将EXCEL

VFP中导入EXCEL表时提示找不到EXCEL.APPLICATION类定义,应如何解决?
在VFP8.0表单的命令框中设计了将EXCEL表数据导入DBF表的功能,但在执行命令导入EXCEL表时却提示“找不到EXCEL.APPLICATION类定义”,所使用的命令程序是:

M=getfile("xls")
COPY FILE "&M" TO D:\TEST.XLS
oExcel=CREATEOBJECT('Excel.application')
oExcel.Workbooks.Open("D:\TEST.XLS") 
R=oExcel.SHEETS(1).UsedRange.ROWS.COUNT
C=oExcel.SHEETS(1).UsedRange.COLUMNS.COUNT
oExcel.Cells(R,C).Select
oExcel.DisplayAlerts=.F. 
oExcel.ActiveWorkbook.SaveAs('D:\NewTest.xls',39)
oExcel.ActiveWorkbook.saved=.t.
oExcel.Workbooks.close 
oExcel.quit 
RELEASE oExcel
IMPORT FROM D:\NewTest.xls TYPE XL8
ERASE D:\NewTest.xls
ERASE D:\TEST.xls

在大部分电脑上运行上述程序时都没有出现故障,但在一台电脑上却出现了这样的故障。

敬请电脑专家分析是何原因,如何解决?不胜感激!


[解决办法]
这台电脑可能没有安装 Excel
[解决办法]
没有安装 Excel 或 Excel 版本高于 2003
[解决办法]
没有安装OFFICE OR 安装的精简版之类的?
[解决办法]
在执行前检测一下是不是安装了excel及版本是不是正确的:

SQL code
oExcel=Createobject('Excel.application')If Vartype(oExcel)=="O"    If Val(oExcel.Version)=11.0 &&11.0表示excel的版本号        M=Getfile("xls")        Copy File "&M" To D:\TEST.Xls*        oExcel=Createobject('Excel.application')        oExcel.Workbooks.Open("D:\TEST.XLS")        R=oExcel.SHEETS(1).UsedRange.Rows.Count        C=oExcel.SHEETS(1).UsedRange.Columns.Count        oExcel.Cells(R,C).Select        oExcel.DisplayAlerts=.F.        oExcel.ActiveWorkbook.SaveAs('D:\NewTest.xls',39)        oExcel.ActiveWorkbook.saved=.T.        oExcel.Workbooks.Close        oExcel.Quit        Release oExcel        Import From D:\NewTest.Xls Type Xl8        Erase D:\NewTest.Xls        Erase D:\TEST.Xls    EndifEndif
[解决办法]
多数情况是安装了精简版,或者注册表出了问题
找到 execl 的 exe 文件,让它自己重新检测并修复一次

运行 cmd,转到 excel.exe 所在文件夹,执行 excel /RegServer,修复过程中可能需要你插入安装盘,或者指出安装文件所在目录

[解决办法]
SQL code
Try    oExcel=Createobject('Excel.application')    llSuccess=.T.Catch To oError    Messagebox(oError.Message,48,'信息提示')    llSuccess=.F.EndtryIf llSuccess    M=Getfile("xls")    Copy File "&M" To D:\TEST.Xls    oExcel.Workbooks.Open("D:\TEST.XLS")    R=oExcel.SHEETS(1).UsedRange.Rows.Count    C=oExcel.SHEETS(1).UsedRange.Columns.Count    oExcel.Cells(R,C).Select    oExcel.DisplayAlerts=.F.    oExcel.ActiveWorkbook.SaveAs('D:\NewTest.xls',39)    oExcel.ActiveWorkbook.saved=.T.    oExcel.Workbooks.Close    oExcel.Quit    Release oExcel    Import From D:\NewTest.Xls Type Xl8    Erase D:\NewTest.Xls    Erase D:\TEST.XlsElse    Messagebox('创建 Excel 对象失败!',48,'信息提示')Endif 

热点排行