VFP操作Excel命令大全 下载本文

*!* 49.拷贝整个工作表(含格式) oExcel.activesheet.cells.Copy &&拷贝

oExcel.sheets(1).Select &&选择第一工作表 oExcel.ActiveSheet.Paste &&粘贴

oExcel.ActiveSheet.Cells(3,4).Value && ActiveSheet 为当前的Sheet工作薄名字,Cells(3,4).value 为第3行第4列的值

*以上控制调用语句在中文VFP5.0企业版下运行通过,运行环境为Excel 97及中文Windows 98

*!* 50.显示某个单元格的批注内容 oExcel=Createobject(\oExcel.Workbooks.Open(\oExcel.Visible=.T.

?oExcel.Range(\显示B5单元格的批注内容 oExcel.Workbooks.Close oExcel.Quit Release oExcel

*!* 51.oExcel.ActiveSheet.PageSetup.PrintTitleRows=\每页都打印行标头(每页顶部出现的单元格的行)

*!* 52.保护工作表:

oExcel.ActiveSheet.Protect('密码',.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.) *!* 53.保护工作薄

oExcel.ActiveWorkbook.Protect('密码',.T.,.T.) 第一个.T.:保护工作簿结构 第二个.T.:保护工作簿窗口 *!* 54.设置允许用户编辑区域

oExcel.ActiveSheet.Protection.AllowEditRanges.Add(\区域3\

*!* 55.如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为.F.

oExcel.DisplayAlerts = .F.

如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为 False;这样每次出现需用户应答的消息时,Microsoft Excel 将选择默认应答。

如果将本属性设置为 False,那么宏运行结束后, Microsoft Excel 并不自动将其设置回 True。故当宏运行结束后,都应将本属性设置回 True 值。

*!* 56.将当前工作表中的已用区域(只读)存入数组。 strPath='D:\\TEST\\123.xls' Local oExcel

oExcel=Createobject(\oExcel.WorkBooks.Open(strPath)

arrTableInfo=oExcel.ActiveSheet.UsedRange.Value &&将当前工作表中的已用区域(只读)存入数组。

oExcel.Quit Release oExcel

Insert Into 表名 From arrTableInfo

*!* 57.设置excel批注的字体(excel 2000实现了,如下:)

ole.Range(\此命令要求批注的 Visible=.t. ole.Selection.Font.Size=9

ole.Selection.Font.Name=\黑体\ole.Selection.Font.bold=.F. 注:该组命令要求先选中批注框,否则写成 ole.Range(\则出错,不知为何!

*!* 58.如何取得当前EXCEL表中工作表的数目及各工作表的名称? Clear

Local lnSheetCount

oExcel=Createobject(\创建Excel对象 oExcel.WORKBOOKS.Open(\打开指定工作簿 With oExcel

lnSheetCount=.WorkBooks(1).Sheets.Count &&统计工作表数量 Endwith

?'当前EXCEL表中工作表的数目为:'+Alltrim(Str(lnSheetCount)) For Each oMyVar In oExcel.sheets

?'当前EXCEL表中工作表的名称分别为'+oMyVar.Name &&显示Excel表中所有工作表

Next oMyVar

oExcel.WORKBOOKS.Close &&关闭工作簿 oExcel.Quit &&退出Excel *!* 59.获取工作表名称 在以下示例中,创建了一个 microsoft excel 实例,添加了一个新的工作簿。使用 foreach 语句显示工作簿中每个工作表的名称。此示例要求在运行示例的机器上正确安装 microsoft excel。

oExcel = Create(\oExcel.Workbooks.Add

For Each oMyVar In oExcel.sheets ? oMyVar.Name Next oMyVar

*!* 60.虽然用APPEND From tx.Xls Type XL8可以更简单的追加数据,但有时会导致程序非法错误退出(除非先另存为Excel 5.0)

*!* 61.VFP控制EXCL文件另存为DBF(EXCEL后台运行) fil=Thisform.List1.Value &&其值为一个包含路径的文件名 oExcel=Createobject('Excel.application') oExcel.Workbooks.Open(fil) &&打开文件

oExcel.Selection.AutoFilter &&关闭(如果无则打开)自动筛选

oExcel.Range(\选中从第1行到1000行的前6列数据(另存后只有这些数据)

asfil=Strtran(Upper(Strtran(fil,Substr(fil,1,Rat('\\',fil)),'c:\\windows\\desktop\\cphz\\')),'.XLS','.dbf') &&要保存的文件名

If File(asfil)

Delete File &asfil

Endif

oExcel.ActiveWorkbook.SaveAs(asfil,8) &&另存为DBF

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

*************VFP中例子****************** lcFileName='D:\\TEST.XLS'

oExcel=Createobject('Excel.application')

oExcel.Workbooks.Open('&lcFileName') &&打开文件

R=oExcel.SHEETS(1).UsedRange.Rows.Count &&有数据的总行数 C=oExcel.SHEETS(1).UsedRange.Columns.Count &&有数据的总列数 oExcel.Cells(R,C).Select &&选中数据

oExcel.Selection.NumberFormatLocal = \把被选定的单元格设为文本格式 oExcel.Columns.AutoFit &&让所有的列宽都自动调整 oExcel.DisplayAlerts=.F.

oExcel.ActiveWorkbook.SaveAs('D:\\TEST.DBF',8) &&另存为DBF

*oExcel.ActiveWorkbook.SaveAs('D:\\NewTest.xls',39) &&另存为5.0的Excel,或用43表示95/97格式

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

Messagebox('Excel文件:D:\\TEST.XLS 另存为 D:\\TEST.DBF 完成!',64,'信息提示') ***********VB例子*************

'功能:VB调用Excel,将一个Excel文件另存为Dbf。' '前提:要安装Excel' Dim oExcel As Object

lcSFileName = \源Excel文件名 lcDFileName = \目标Dbf文件名

Set oExcel = Createobject(\创建Excel对象 oExcel.Workbooks.Open (lcSFileName) '打开Excel表

*R = oExcel.SHEETS(1).UsedRange.ROWS.Count '有数据的总行数 *C = oExcel.SHEETS(1).UsedRange.Columns.Count '有数据的总列数 *oExcel.Cells(R, C).Select '选中数据

*oExcel.Columns.AutoFit '让所有的列宽都自动调整 oExcel.DisplayAlerts = Flase '不显示提示框

oExcel.ActiveWorkbook.SaveAs FileName:=lcDFileName, FileFormat:=8 oExcel.ActiveWorkbook.saved = Ture '不保存当前EXCEL表 oExcel.Workbooks.Close '关闭表 oExcel.Quit '退出EXCEL

Set oExcel = Nothing '释放对象

MsgBox (\文件: \另存为 \完成!\*!* 62.VFP用ADO连接Excel,然后将Excel内容导出DBF的方法

*--以下代码是将123.XLS中的SHEET5中的内容转换成RR.DBF oConnection = Createobject(\建立连接对象 With oConnection .ConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\temp\\123.xls;Extended Properties=\8.0;HDR=YES;IMEX=1;\Security Info=False'

.Open Endwith

oConnection.EXECUTE('select * into [dBase III;DataBase=d:\\temp].rr from [sheet5$]') oConnection.Close

*!* 63.设置打印参数:

用Excel做报表,可打印时怎么选择打印机,即.ActiveWindow.SelectedSheets.PrintOut的参数有哪些?

Expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)

Expression 必选。该表达式返回“应用于”列表中的某个对象。

From Variant 类型,可选。打印的开始页号。如果省略该参数,将从起始位置开始打印。 To Variant 类型,可选。打印的终止页号。如果省略该参数,将打印至最后一页。 Copies Variant 类型,可选。要打印的份数。如果省略该参数,将只打印一份。

Preview Variant 类型,可选。如果为 True 则 Microsoft Excel 打印指定对象之前进行打印预览。如果为 False,或者省略此参数则立即打印该对象。

ActivePrinter Variant 类型,可选。 设置活动打印机的名称。

PrintToFile Variant 类型,可选。如果为 True 则打印输出到文件。如果没有指定 PrToFileName,则 Microsoft Excel 将提示用户输入要输出文件的文件名。

Collate Variant 类型,可选。如果为 True 则逐份打印每份副本。

PrToFileName 可选,Variant 类型。如果将 PrintToFile 设置为 True,则本参数指定要打印到的文件名。

说明

From 参数和 To 参数所描述的“页”指的是要打印的页,并非指定工作表或工作簿中的全部页。

*!* 64.如何用编程的方法打开有密码的Excel文件?

*Excel文件加了密码,如何在VFP中用编程的方式把密码输入,使Excel文件打开 oExcel=Createobject('Excel.application') oExcel.Workbooks.Open(\

这样还有一个密码的对话框出来,需要输入密码才能打开文件。 *!* 65.如何用编程的方法直接打开有密码的Excel文件? oEle.Workbooks.Open(\\表示打开权限的密码, \表示修改权限的密码.

*!* 66.如何将一个已知路径的图片插入到excel中. oexcel1.ActiveSheet.PictureS.Insert(\图片文件名\

*!* 67.能不能指定在某一位置或区域放置图片并控制图片显示大小呢? OLEAPP.SHEETS(1).Select oleapp.Range(\位置\