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

ZJM84862915 2012-04-16 12:30:52
在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

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

敬请电脑专家分析是何原因,如何解决?不胜感激!
...全文
1808 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2012-04-16
  • 打赏
  • 举报
回复
这台电脑可能没有安装 Excel
十豆三 2012-04-16
  • 打赏
  • 举报
回复
Try
oExcel=Createobject('Excel.application')
llSuccess=.T.
Catch To oError
Messagebox(oError.Message,48,'信息提示')
llSuccess=.F.
Endtry
If 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.Xls
Else
Messagebox('创建 Excel 对象失败!',48,'信息提示')
Endif
都市夜猫 2012-04-16
  • 打赏
  • 举报
回复
多数情况是安装了精简版,或者注册表出了问题
找到 execl 的 exe 文件,让它自己重新检测并修复一次

运行 cmd,转到 excel.exe 所在文件夹,执行 excel /RegServer,修复过程中可能需要你插入安装盘,或者指出安装文件所在目录
lc_apple 2012-04-16
  • 打赏
  • 举报
回复
在执行前检测一下是不是安装了excel及版本是不是正确的:

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
Endif
Endif
WWWWA 2012-04-16
  • 打赏
  • 举报
回复
没有安装OFFICE OR 安装的精简版之类的?
xuzuning 2012-04-16
  • 打赏
  • 举报
回复
没有安装 Excel 或 Excel 版本高于 2003

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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