1、VFP全面控制EXCEL最近正好有空,看到不少人对VFP控制EXCEL有兴趣,现将上次的“精华贴重新整理一下,供各位爱好者参考!oExcel。Selection。NumberFormatLocal = 把被选定的单元格设为文本格式1、对象的创建与关闭*eole=CREATEOBJECT(Excel.application)& 创建Excel对象eole.Workbooks。add& 添加新工作簿eole。Worksheets(”sheet3).Activate 设置第3个工作表为激活工作表eole。Workbooks。Open(”D:ABC11.xls”) 打开指定工作簿eole。visibl
2、e=。t.& 显示Excel窗口eole。visible=。F。& 不显示Excel窗口eole。Caption=VFP应用程序调用Microsoft Excel” 更改Excel标题栏eole。ActiveWorkbook.SaveAs(”D:ABC22。xls)& 工作表另为eole。ActiveWorkbook。saved=。t.& 放弃存盘eole。ActiveSheet.UsedRange。Copy& 拷贝整个工作表eole。ActiveSheet。Range(A1:E2”)。Copy& 拷贝指定区域eole.WorkSheet(Sheet2”)。Range(”A1).PasteSp
3、ecial& 粘贴eole。ActiveWorkbook.Save& 存盘(自动存盘不提问)eole。Workbooks.close 关闭工作簿eole。quit& 退出Excel2、单元格的设置*eole.ActiveSheet。Columns(”D:D).Delete& 删除列eole.ActiveSheet.Columns(”A:B”).Delete& 删除列 eole.ActiveSheet.Columns(1)。ColumnWidth=20& 列的宽度(单位:字符个数)eole。ActiveSheet。Columns(2)。ColumnWidth=30eole。ActiveSheet
4、。Columns(C:BE).ColumnWidth=9.5eole。Selection。Columns.AutoFit& 最适合的列宽eole.ActiveSheet。Range(”b3:d3”)。Borders(2).Weight=3& 指定边框线宽度(其中Borders参数:1左、2右、3顶、4底、5斜、6斜/;LineStyle值:1与7细实、2细虚、4点虚、9双细实线)eole。ActiveSheet.Range(A1:BE29).Borders(1).LineStyle=1 & 设置四个边框线条的类型eole.ActiveSheet。Range(”A1:BE29)。Borders(
5、2)。LineStyle=1 设置四个边框线条的类型eole.ActiveSheet.Range(”A1:BE29).Borders(3)。LineStyle=1 & 设置四个边框线条的类型eole。ActiveSheet.Range(A1:BE29”).Borders(4)。LineStyle=1 & 设置四个边框线条的类型eole.ActiveSheet.Rows(1).Insert& 在第1行之前插入一行eole。ActiveSheet。Columns(2).Insert 在第2列之前插入一列eole.cells(1,2)。value=ABTMC& 给单元格赋值eole。cells(2,
6、2)。value=”BBBB 给单元格赋值eole.ActiveSheet.Cells(1,4)。ClearContents& 清除单元格公式eole。ActiveSheet.Rows(1)。RowHeight=1/0。035& 设置指定行的高度(单位:磅)*(行高为1厘米,1磅=0.035厘米)eole。ActiveSheet.ROWS(1)。Font.Name=”黑体& 设置字体eole。ActiveSheet.ROWS(1)。Font。Size=14& 设置字体大小eole。ActiveSheet.ROWS(1).Font。Bold=。t。& 设置整行字体为粗体eole.ActiveSh
7、eet.Cells(1,1)。Font。Italic=。t.& 设置字体为斜体eole。Range(”A3:BE3”)。selecteole。selection.WrapText = 。T. 自动换行eole.selection。HorizontalAlignment=3& 水平方向2左对齐,3居中,4右对齐eole.selection.VerticalAlignment = 2& 垂直方向1靠上,2居中,3靠下eole.Range(”A2:B2”).selecteole.selection。MergeCells = 。T。& 合并单元eole.selection。HorizontalAlig
8、nment=2& 水平方向2左对齐,3居中,4右对齐eole.selection。VerticalAlignment = 2& 垂直方向1靠上,2居中,3靠下eole。Range(A5:M5”)。selecteole。Selection.Interior.ColorIndex = 34& 设置行颜色为淡兰eole。ActiveSheet。Range(”A1:BE29”).NumberFormatLocal = ;_ * #,#0。00_ ; _ * ,#0。00_ ;_ * +-+??_ ;_ _ & 指定区域内的数字显示格式3、打印页面的设置*eole。ActiveSheet.PageSet
9、up.HeaderMargin=2/0。035& 设置页眉到顶端边距为2厘米eole。ActiveSheet.PageSetup。FooterMargin=3/0.035 设置页脚到底边距为3厘米eole.ActiveSheet。PageSetup。TopMargin=4/0.035 设置顶边距为4厘米eole。ActiveSheet。PageSetup.BottomMargin=4/0。035& 设置底边距为4厘米eole.ActiveSheet。PageSetup.LeftMargin=2/0.035 设置左边距为2厘米eole.ActiveSheet。PageSetup.RightMar
10、gin=2/0.035 设置右边距为2厘米eole.ActiveSheet。PageSetup。CenterHorizontally=.t.& 设置页面水平居中 eole。ActiveSheet.PageSetup.CenterVertically=。t.& 设置页面垂直居中eole.ActiveSheet。PageSetup.PaperSize=8& 设置页面纸张大小(1窄行8 5 11 39宽行14 11)eole.ActiveSheet.PageSetup.Orientation=2& 横向eole.ActiveSheet。PageSetup。PrintTitleRows=1:3& 定义
11、固定行eole.ActiveSheet.PageSetup.PrintTitleColumns=$A:C”& 定义固定列eole.ActiveSheet.PageSetup.CenterHeader= ”14&BTMC& 设置页眉eole。ActiveSheet.PageSetup。CenterFooter=”表_第P页 设置页脚eole。Worksheets(”Sheet1)。Rows(18)。PageBreak=1& 在第18行之前插入分页符eole.ActiveSheet.Columns(4)。PageBreak=0& 在第4列之前删除分页符eole。ActiveSheet。PageSe
12、tup.PrintGridlines=.t.& 打印单元格网线eole。ActiveSheet.PrintPreview& 打印预览工作表eole.ActiveSheet。PrintOut& 打印输出工作表oExcel.ActiveSheet.PageSetup.Zoom=90 &缩放904、记录条数的利用*一般来讲,EXCEL表的来源为DBF文件,列、行应该是可以预知的USE 111COUNT TO AAAUSEFWQ= A3:M”+ALLT(STR(AAA+?)?为EXCEL表插入的行数eole.ActiveSheet.Range(FWQ)。Borders(1).LineStyle=1&
13、设置四个边框线条的类型eole.ActiveSheet。Range(FWQ).Borders(2).LineStyle=1& 设置四个边框线条的类型eole.ActiveSheet。Range(FWQ).Borders(3).LineStyle=1 设置四个边框线条的类型eole.ActiveSheet。Range(FWQ).Borders(4).LineStyle=1& 设置四个边框线条的类型5、VFP下直接调用EXCEL、WORD文件*DECLARE INTEGER ShellExecute IN shell32。DLL INTEGER HWND,STRING, ;STRING lpszF
14、ile, STRING, STRING, INTEGERoperate= ”openShellExecute(0,operate,C:111.XLS,0,0,1)& EXCEL文件ShellExecute(0,operate,”C:111。DOC”,0,0,1)& WORD文件*VFP全面控制EXCEL本文来自CSDN博客:http:/blog。VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。这就需要我们在VFP中直接来控制Excel。下面就在开发VFP应用项
15、目时对Excel的控制作一下介绍:! 1创建Excel对象oExcel=Createobject(Excel.application)! 2添加新工作簿oExcel。Workbooks。Add! 3设置第3个工作表为激活工作表oExcel.Worksheets(sheet3”)。Activate! 4打开指定工作簿oExcel。Workbooks.Open(”c:templl。xls)! 5显示Excel窗口oExcel。Visible=.T.*!* 6更改Excel标题栏oExcel。Caption=”VFP应用程序调用Microsoft Excel*! 7给单元格赋值oExcel。cell
16、s(1,4).Value=XM(XM为数据库字段名)! 8设置指定列的宽度(单位:字符个数)oExcel。ActiveSheet.Columns(1)。ColumnWidth=5!* 9设置指定行的高度(单位:磅)oExcel。ActiveSheet。Rows(1).RowHeight=1(设定行高为1磅,1磅=0。035厘米)oExcel.ActiveSheet。Rows(50:100)。RowHeight=1 设置第50行至100行的高度*!* 10在第18行之前插入分页符oExcel。Worksheets(Sheet1).Rows(18).PageBreak=1*! 11在第4列之前删除
17、分页符oExcel.ActiveSheet。Columns(4).PageBreak=0*! 12指定边框线宽度(Borders参数如下)ole。ActiveSheet.Range(”b3:d3”)。BorderS(2).Weight=3! 13设置四个边框线条的类型oExcel.ActiveSheet.Range(b3:d3”)。BorderS(2).LineStyle=1(其中Borders参数:1左、2右、3顶、4底、5斜、6斜/;LineStyle值:1与7细实、2细虚、4点虚、9双细实线)*!* 14设置页眉oExcel.ActiveSheet.PageSetup。CenterHea
18、der=报表1”*! 15设置页眉(字体大小)oExcel。ActiveSheet。PageSetup.CenterHeader=&50报表1 &后面的50可以自定义,表示字体的大小!* 16设置页脚oExcel.ActiveSheet.PageSetup。CenterFooter=第P页*!* 17.设置页脚(字体大小)oExcel。ActiveSheet.PageSetup。CenterFooter=28第P页 &后面的28可以自定义,表示字体的大小*! 18设置页眉到顶端边距为2厘米oExcel。ActiveSheet。PageSetup。HeaderMargin=2/0.035! 19
19、设置页脚到底边距为3厘米oExcel。ActiveSheet。PageSetup。FooterMargin=3/0。035!* 20设置顶边距为2厘米oExcel。ActiveSheet.PageSetup.TopMargin=2/0.035*! 21设置底边距为4厘米oExcel.ActiveSheet.PageSetup。BottomMargin=4/0.035! 22设置左边距为2厘米oExcel.ActiveSheet.PageSetup.LeftMargin=2/0。035!* 23设置右边距为2厘米oExcel。ActiveSheet。PageSetup.RightMargin=2
20、/0。035! 24设置页面水平居中oExcel.ActiveSheet.PageSetup。CenterHorizontally=。T.!* 25设置页面垂直居中oExcel。ActiveSheet。PageSetup。CenterVertically=。T.*!* 26设置页面纸张大小(1窄行8 5 11 39宽行14 11 9:A4)oExcel。ActiveSheet.PageSetup.Papersize=1*!* 27打印单元格网线oExcel.ActiveSheet.PageSetup。PrintGridlines=。T。! 28拷贝整个工作表oExcel。ActiveSheet
21、.UsedRange。Copy!* 29拷贝指定区域oExcel.ActiveSheet。Range(”A1:E2)。Copy!* 30粘贴oExcel。WorkSheet(”Sheet2”)。Range(A1)。PasteSpecial*! 31在第2行之前插入一行oExcel。ActiveSheet。Rows(2)。Insert!* 32在第2列之前插入一列oExcel。ActiveSheet.Columns(2)。Insert! 33设置字体oExcel。ActiveSheet.Cells(2,1).Font。Name=”黑体”*!* 34设置字体大小oExcel。ActiveSheet
22、.Cells(1,1)。Font。Size=25*!* 35设置字体为斜体oExcel.ActiveSheet.Cells(1,1).Font。Italic=。T.! 36设置整列字体为粗体oExcel.ActiveSheet。Columns(1).Font.Bold=。T。! 37清除单元格公式oExcel。ActiveSheet。Cells(1,4).ClearContents! 38打印预览工作表oExcel.ActiveSheet.PrintPreview!* 39打印输出工作表oExcel.ActiveSheet。PrintOut*! 40 oExcel。CommandBars(1)
23、。Controls(1).accChild(18).Execute &打印(菜单序号18为Excel2003的打印项)&不同版本Excel的菜单序号可以通过以下程序取得(需要在VFP7.0以上运行)oXls=Getobject(,excel。sheet”)XlApp=oXLS。ApplicationXlSheet=XlApp。ActiveSheetbars=xlapp。CommandBars.CountStr1=For i=1 To bars Str1=Str1+Chr(13)+Alltrim(Str(i))+、+xlapp.CommandBars(i).accName+(NAME:+xlap
24、p.CommandBars(i)。Name+ INDEX:+Alltrim(Str(xlapp.CommandBars(i)。Index)+) bars2=mandbars(i)。accChildCount For j=1 To bars2 Try obj=mandbars(i)。Controls(j) Str1=Str1+Chr(13)+ +Alltrim(Str(j)+、+mandbars(i)。Controls(j)。accname+(ID:+Alltrim(Str(xlapp.CommandBars(i).Controls(j)。Id)+) For k=1 To obj。accChildCount Try If Not Empty(obj。Controls(k).accname ) Str1=Str1+Chr(13)+ +Alltrim(Str(k)+、+obj。Controls(k)。accName+ (ID:+ Alltrim(Str(obj。Controls(k).Id)+)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1