y13622702376 2018-12-06 05:41 采纳率: 0%
浏览 850

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条回答

  • threenewbee 2018-12-06 13:01
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办