2007格式模板保存*.xltx问题
yesno=Messagebox("是否真的要升级?",32+0+1,"升级提示")If yesno=2
Return
Endif
Set Safety Off &&指定在覆盖已经存在的文件时,不显示对话框
Set Multilocks On && 决定能否使用LOCK()或PLOCK()锁定多个记录
Wait " 正在升级模板....请稍等!!! " Window Nowait
Set Default To (cfilePath) && 设置对文档模板文件的查找路径
nTblCount = Adir(aTable,'*.xlt') && 创建一个数组 将文件信息存放到数组中,然后返回文件个数
= Asort(aTable,1,0,1,1) && 排序数组
vfp_excel = Createobject("Excel.application")
For i=1 To nTblCount
cName=aTable(i,1) && 1==表示文件名,带后缀名,如:asd.xlt
cTblName=Alltrim(cName)+"x" && 截除后缀名(.xlt)
lcmsg="正在转换"+Alltrim(cName)+" 表....,请稍等!!! "
Wait lcmsg Window Nowait At Srow()/2, (Scols()-Len(lcmsg))/2
pp=cfilepath
vfp_excel.WorkBooks.Open(pp+'&cName')
vfp_excel.DisplayAlerts=.F. &&后台操作报警关闭 关闭(.F.) 打开(.T.) *-- 抑制 Excel 的警告和信息 (类似于 SET SAFETY OFF)
aqwee=pp+'&cTblName'
vfp_excel.activeworkbook.SaveAs("&aqwee") &&另存为p.xls 这句出错
运行到以上这句时出错提示:OLE IDispatch 异常代码 0 出自 Microsoft Office Excel: 此扩展名不能用于所选文件类型。请在“文件名”文本框中更改 文件扩展名,或者通过更改“保存类型”来选择其他文件类型。..
vfp_excel.workbooks.Close && 关闭工作区不提示保存
vfp_excel.Quit
Release vfp_excel && 关闭EXCEL后通常应释放实例变量
Thisform.Release
Endfor
Set Default To (myDrive) && 恢复设置路径
目的要求是:原来的(*.XLT)文件是用2003格式保存的,现在是要求在2007下打开,并自动保存为2007的(*.XLTX)文件格式
[ 本帖最后由 jaoyjx 于 2015-5-12 12:57 编辑 ]