VFP打开OFFICE2007版本或以上版本

以下这段VFP代码只能打开OFFICE2003,请更改能打开OFFICE2007版本或以上版本,谢谢!

oExcel=CREATEOBJECT("Excel.application") && 打开Excel,产生OLE对象
oExcel.Visible=.f. && 置Excel可见
oExcel.Worksheets(oExcel.Sheets(1).name).Activate &&激活工作表

oExcel.Cells(1,1).Select &&选中第一个单元格
oExcel.Selection.AutoFilter &&关闭(如果无则打开)自动筛选

oExcel.ActiveSheet.Rows(2).Insert &&在第2行之前插入一行
oExcel.ActiveSheet.range("A2:AV2").Value="AAAAAAAAAAAA"

R=oExcel.SHEETS(1).UsedRange.Rows.Count &&有数据的总行数
C=oExcel.SHEETS(1).UsedRange.Columns.Count &&有数据的总列数
oExcel.Cells(R,C).Select &&选中数据
oExcel.Columns.AutoFit &&让所有的列宽都自动调整

oExcel.ActiveSheet.Columns(6).ColumnWidth=80
oExcel.ActiveSheet.Columns(25).ColumnWidth=120
oExcel.ActiveSheet.Columns(28).ColumnWidth=160
oExcel.ActiveSheet.Columns(30).ColumnWidth=120

oExcel.Cells.Select &&选择整张表
oExcel.Selection.Font.Size = 9 &&设置整表默认字体大小为9
oExcel.Selection.Font.Name="宋体"

oExcel.DisplayAlerts =.f. &&不显示提示框
AHS="A1:AV"+ALLTRIM(STR(R)) &&选中的列数
oExcel.ActiveSheet.range(AHS).select

oExcel.ActiveWorkbook.SaveAs("&LJM"+"&WJM"+".DBF",8) &&另存为DBF

oExcel.ActiveWorkbook.saved=.t. &&不保存当前EXCEL表
oExcel.Workbooks.Close &&关闭表
oExcel.Quit &&退出EXCEL
Release oExcel &&释放变量

1个回答

你的代码应该可以用于2007,不过要注意,电脑上要先安装完整版的office 2007(wps,或者精简版office不行)。
如果是office 2010+,还要注意,只能用32bit的。因为vfp太老,不支持64bit.

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问