vfp如何打开excel文件

合集下载

VFP操作Excel命令大全

VFP操作Excel命令大全

VFP操作Excel命令大全VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。

比如我们可以利用VFP 进行处理数据,而利用Excel的预览打印功能进行报表打印。

这就需要我们在VFP中直接来控制Excel。

下面就在开发VFP应用项目时对Excel的控制作一下介绍:*!* 1.创建Excel对象oExcel=Createobject("Excel.application")*!* 2.添加新工作簿oExcel.Workbooks.Add*!* 3.设置第3个工作表为激活工作表oExcel.Worksheets("sheet3").Activate*!* 4.打开指定工作簿oExcel.Workbooks.Open("c:\temp\ll.xls")*!* 5.显示Excel窗口oExcel.Visible=.T.*!* 6.更改Excel标题栏oExcel.Caption="VFP应用程序调用Microsoft Excel"*!* 7.给单元格赋值oExcel.cells(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列之前删除分页符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.CenterHeader="报表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.设置页脚到底边距为3厘米oExcel.ActiveSheet.PageSetup.FooterMargin=3/0.035 *!* 20.设置顶边距为2厘米oExcel.ActiveSheet.PageSetup.T opMargin=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/0.035 *!* 24.设置页面水平居中oExcel.ActiveSheet.PageSetup.CenterHorizontally=.T. *!* 25.设置页面垂直居中oExcel.ActiveSheet.PageSetup.CenterVertically=.T.*!* 26.设置页面纸张大小(1-窄行8511 39-宽行14oExcel.ActiveSheet.PageSetup.Papersize=1*!* 27.打印单元格网线oExcel.ActiveSheet.PageSetup.PrintGridlines=.T.*!* 28.拷贝整个工作表edRange.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)="黑体"*!* 34.设置字体大小oExcel.ActiveSheet.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 11 9:A4)*!*40.mandBars(1).Controls(1).accChild(18).Execute &&打印(菜单序号18为Excel2003的‘打印’项)&&不同版本Excel的菜单序号可以通过以下程序取得*(需要在VFP7.0以上运行)oXls=Getobject("","excel.sheet")XlApp=oXLS.ApplicationXlSheet=XlApp.ActiveSheetbars=mandBars.CountStr1=''For i=1 To barsStr1=Str1+Chr(13)+Alltrim(Str(i))+''+mandBars(i).accName+'(NAME:'+ma ndBars(i).Name+'INDEX:'+Alltrim(Str(mandBars(i).Index))+')'bars2=mandbars(i).accChildCountFor j=1 To bars2Tryobj=mandbars(i).Controls(j)Str1=Str1+Chr(13)+' '+Alltrim(Str(j))+'j).Id))+')'For k=1 To obj.accChildCountTryIf Not Empty(obj.Controls(k).accname )Str1=Str1+Chr(13)+' '+Alltrim(Str(k))+''+obj.Controls(k).accName+' (ID:'+ Alltrim(Str(obj.Controls(k).Id))+')'CatchExitEndtryEndforCatchExitEndtryEndforWait Windows Alltrim(Str(i))+' / '+Alltrim(Str(bars))+' '+Str(i/bars*100,10,2)+'%' NowaitEndforSave To Xls.txt All Like Str1Modify Command Xls.txtReturn*!* 41.工作表另存为oExcel.ActiveWorkbook.SaveAs("c:\temp\22.xls")*检测当前目录是否有同名的EXCEL表,如果有先删除,再另存If !File(Sys(5) + Curdir() + "result.xls") 、、'+mandbars(i).Controls(j).accname+'(ID:'+Alltrim(Str(x mandBars(i).Controls(、oExcel.ActiveWorkbook.SaveAs(Sys(5) + Curdir() + "result.xls") ElselcFileName = loExcel.GetSaveAsFilename("result", "Excel (*.xls), *.xls")If !Empty(lcFileName)If File(lcFileName)Delete File (lcFileName)EndifoExcel.ActiveWorkbook.SaveAs(lcFileName)Endif*!* 42.放弃存盘 && 避免出现保存对话框oExcel.ActiveWorkbook.saved=.T.*!* 43.存盘oExcel.ActiveWorkbook.Save*!* 44.关闭工作簿oExcel.Workbooks.Closeobjexcel.activeworkbook.Close(.F.)*!* 45.退出ExceloExcel.QuitRelease oExcel &&只有释放对象变量, EXCEL进程才会完全关闭*!* 46.合并单元格oExcel.ActiveSheet.Range("A4:B5").MergeCells=.T.*!* 47.下列设置大家自己理解With crfole.ActiveSheet.PageSetup.LeftHeader = Chr(13)+"左页眉".CenterHeader = "中页眉".RightHeader = "右页眉".LeftFooter = "左页脚".CenterFooter = "中页脚".RightFooter = "右页脚".Orientation=1 &&1竖排,2横排EndwithWith crfole.Range("A4:C4").MergeCells = .T..WrapText =.F..Orientation = 0.AddIndent =.F..ShrinkT oFit = .F.Endwith*!* 48.文本对齐oExcel.Range("A4:c4").HorizontalAlignment =1 &&水平(1-默认、2-靠左、3-居中、4-靠右、5-填充、6=两端对齐、7=跨列居中、8=分散对齐)oExcel.Range("A4:c4").VerticalAlignment =2 &&垂直(1=靠上、2=居中、3=靠下、4=两端对齐、5=分散对齐)*!* 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("Excel.application")oExcel.Workbooks.Open("d:\TEST\testa.xls")oExcel.Visible=.T.oExcel.Range("B5").Comment.Text &&显示B5单元格的批注内容oExcel.Workbooks.CloseoExcel.QuitRelease oExcel*!*51.oExcel.ActiveSheet.PageSetup.PrintTitleRows="$1:$1" &&每页都打印行标头(每页顶部出现的单元格的行)*!* 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",oExcel.ActiveSheet.Range("A2:D5"))*!* 55.如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为.F.oExcel.DisplayAlerts = .F.如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为False;这样每次出现需用户应答的消息时,Microsoft Excel 将选择默认应答。

VFP全面控制EXCEL(完全版)

VFP全面控制EXCEL(完全版)

1.创建Excel对象oExcel=Createobject("Excel.application")2.添加新工作簿oExcel.Workbooks.Add3.设置第3个工作表为激活工作表oExcel.Worksheets("sheet3").Activate4.打开指定工作簿oExcel.Workbooks.Open("c:\temp\ll.xls")5.显示Excel窗口oExcel.Visible=.T.6.更改Excel标题栏oExcel.Caption="VFP应用程序调用Microsoft Excel"7.给单元格赋值oExcel.cells(1,4).Value=XM(XM为数据库字段名)8.设置指定列的宽度(单位:字符个数)oExcel.ActiveSheet.Columns(1).ColumnWidth=59.设置指定行的高度(单位:磅)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=111.在第4列之前删除分页符oExcel.ActiveSheet.Columns(4).PageBreak=012.指定边框线宽度(Borders参数如下)ole.ActiveSheet.Range("b3:d3").BorderS(2).Weight=313.设置四个边框线条的类型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.CenterHeader="报表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.03519.设置页脚到底边距为3厘米oExcel.ActiveSheet.PageSetup.FooterMargin=3/0.03520.设置顶边距为2厘米oExcel.ActiveSheet.PageSetup.TopMargin=2/0.03521.设置底边距为4厘米oExcel.ActiveSheet.PageSetup.BottomMargin=4/0.03522.设置左边距为2厘米oExcel.ActiveSheet.PageSetup.LeftMargin=2/0.03523.设置右边距为2厘米oExcel.ActiveSheet.PageSetup.RightMargin=2/0.03524.设置页面水平居中oExcel.ActiveSheet.PageSetup.CenterHorizontally=.T. 25.设置页面垂直居中oExcel.ActiveSheet.PageSetup.CenterVertically=.T.26.设置页面纸张大小(1-窄行8511 39-宽行1411 9:A4) oExcel.ActiveSheet.PageSetup.Papersize=127.打印单元格网线oExcel.ActiveSheet.PageSetup.PrintGridlines=.T.28.拷贝整个工作表edRange.Copy29.拷贝指定区域oExcel.ActiveSheet.Range("A1:E2").Copy30.粘贴oExcel.WorkSheet("Sheet2").Range("A1").PasteSpecial 31.在第2行之前插入一行oExcel.ActiveSheet.Rows(2).Insert32.在第2列之前插入一列oExcel.ActiveSheet.Columns(2).Insert33.设置字体oExcel.ActiveSheet.Cells(2,1)="黑体"34.设置字体大小oExcel.ActiveSheet.Cells(1,1).Font.Size=2535.设置字体为斜体oExcel.ActiveSheet.Cells(1,1).Font.Italic=.T.36.设置整列字体为粗体oExcel.ActiveSheet.Columns(1).Font.Bold=.T.37.清除单元格公式oExcel.ActiveSheet.Cells(1,4).ClearContents38.打印预览工作表oExcel.ActiveSheet.PrintPreview39.打印输出工作表oExcel.ActiveSheet.PrintOut40. mandBars(1).Controls(1).accChild(18).Execute &&打印(菜单序号18为Excel2003的‘打印’项)&&不同版本Excel的菜单序号可以通过以下程序取得*(需要在VFP7.0以上运行)oXls=Getobject("","excel.sheet")XlApp=oXLS.ApplicationXlSheet=XlApp.ActiveSheetbars=mandBars.CountStr1=''For i=1 To barsStr1=Str1+Chr(13)+Alltrim(Str(i))+'、'+mandBars(i).accName+'(NAME:'+mandBars(i).Name+'INDEX:'+Alltrim(Str(mandBars(i).Index))+')'bars2=mandbars(i).accChildCountFor j=1 To bars2Tryobj=mandbars(i).Controls(j)Str1=Str1+Chr(13)+' '+Alltrim(Str(j))+'、'+mandbars(i).Controls(j).accname+'(ID:'+Alltrim(Str(mandBars(i).Controls( j).Id))+')'For k=1 To obj.accChildCountTryIf Not Empty(obj.Controls(k).accname )Str1=Str1+Chr(13)+' '+Alltrim(Str(k))+'、'+obj.Controls(k).accName+' (ID:'+ Alltrim(Str(obj.Controls(k).Id))+')'EndifCatchExitEndtryEndforCatchExitEndtryEndforWait Windows Alltrim(Str(i))+' / '+Alltrim(Str(bars))+' '+Str(i/bars*100,10,2)+'%' Nowait EndforSave To Xls.txt All Like Str1Modify Command Xls.txtReturn41.工作表另存为oExcel.ActiveWorkbook.SaveAs("c:\temp\22.xls")*检测当前目录是否有同名的EXCEL表,如果有先删除,再另存If !File(Sys(5) + Curdir() + "result.xls")oExcel.ActiveWorkbook.SaveAs(Sys(5) + Curdir() + "result.xls")ElselcFileName = loExcel.GetSaveAsFilename("result", "Excel (*.xls), *.xls") If !Empty(lcFileName)If File(lcFileName)Delete File (lcFileName)EndifoExcel.ActiveWorkbook.SaveAs(lcFileName)EndifEndif42.放弃存盘 && 避免出现保存对话框oExcel.ActiveWorkbook.saved=.T.43.存盘oExcel.ActiveWorkbook.Save44.关闭工作簿oExcel.Workbooks.Closeobjexcel.activeworkbook.Close(.F.)45.退出ExceloExcel.QuitRelease oExcel &&只有释放对象变量, EXCEL进程才会完全关闭46.合并单元格oExcel.ActiveSheet.Range("A4:B5").MergeCells=.T.47.下列设置大家自己理解With crfole.ActiveSheet.PageSetup.LeftHeader = Chr(13)+"左页眉".CenterHeader = "中页眉".RightHeader = "右页眉".LeftFooter = "左页脚".CenterFooter = "中页脚".RightFooter = "右页脚".Orientation=1 &&1竖排,2横排EndwithWith crfole.Range("A4:C4").MergeCells = .T..WrapText =.F..Orientation = 0.AddIndent =.F..ShrinkToFit = .F.Endwith48.文本对齐oExcel.Range("A4:c4").HorizontalAlignment =1 &&水平(1-默认、2-靠左、3-居中、4-靠右、5-填充、6=两端对齐、7=跨列居中、8=分散对齐)oExcel.Range("A4:c4").VerticalAlignment =2 &&垂直(1=靠上、2=居中、3=靠下、4=两端对齐、5=分散对齐)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("Excel.application")oExcel.Workbooks.Open("d:\TEST\testa.xls")oExcel.Visible=.T.?oExcel.Range("B5").Comment.Text &&显示B5单元格的批注内容oExcel.Workbooks.CloseoExcel.QuitRelease oExcel51.oExcel.ActiveSheet.PageSetup.PrintTitleRows="$1:$1" &&每页都打印行标头(每页顶部出现的单元格的行)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",oExcel.ActiveSheet.Range("A2:D5"))55.如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为.F.oExcel.DisplayAlerts = .F.如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为 False;这样每次出现需用户应答的消息时,Microsoft Excel 将选择默认应答。

VFP控制EXCEL的方法(终于找到了)

VFP控制EXCEL的方法(终于找到了)

VFP控制EXCEL的常用方法oExl=CREATEOBJECT('Excel.application')oExl.Visible=.T.oExl.DefaultSaveFormat=39oExl.SheetsInNewWorkbook=1oExl.Workbooks.Open(cXLS)oExl.WindowState=-4140 &&窗口最小化oExl.WindowState=-4143 &&窗口正常化oExl.WindowState=-4147 &&窗口最大化*------------------------------------------------------*&&页面设置oExl.ActiveSheet.PageSetup.PrintTitleRows="$1:$3" &&打印标题oExl.ActiveSheet.PageSetup.Orientation=2 &&页面方向:1纵向/2横向*oExl.ActiveSheet.PageSetup.PaperSize=11 &&纸张尺寸:9-A4/11-A5oExl.ActiveSheet.PageSetup.TopMargin=0.8/0.035 &&顶边距oExl.ActiveSheet.PageSetup.BottomMargin=0.8/0.035 &&底边距oExl.ActiveSheet.PageSetup.LeftMargin=0 &&左边距oExl.ActiveSheet.PageSetup.RightMargin=0 &&右边距oExl.ActiveSheet.PageSetup.CenterHorizontally=.T. &&页面居中oExl.ActiveSheet.PageSetup.HeaderMargin=0.5/0.035oExl.ActiveSheet.PageSetup.FooterMargin=0.5/0.035oExl.ActiveSheet.PageSetup.LeftHeader="&9表格"”9是字号”oExl.ActiveSheet.PageSetup.CenterHeader=""oExl.ActiveSheet.PageSetup.RightHeader="&9"oExl.ActiveSheet.PageSetup.LeftFooter=""oExl.ActiveSheet.PageSetup.CenterFooter="&9第&P页,共&N页"oExl.ActiveSheet.PageSetup.RightFooter="&9制表人:'+代码+' 制表时间:"+TTOC(DATETIME()) *------------------------------------------------------*&&整体格式设置oExl.ActiveSheet.Rows.Font.Size=9='宋体'oExl.ActiveSheet.Rows.RowHeight=0.5/0.035oExl.ActiveSheet.Rows.NumberFormatLocal="0.00_ ;[红色]-0.00"oExl.ActiveSheet.Rows.VerticalAlignment=2 &&单元格内容垂直居中*------------------------------------------------------*&&获取最大行号和最大列号Local nMaxRow,nMaxColnMaxRow=edRange.Rows.CountnMaxCol=edRange.Columns.Count&&表头格式设置oExl.ActiveSheet.Rows(1).Font.Size=16oExl.ActiveSheet.Rows(1).Font.Bold=.T.oExl.ActiveSheet.Rows(1).RowHeight=1/0.035oExl.ActiveSheet.Rows(1).HorizontalAlignment=3oExl.ActiveSheet.Rows(2).HorizontalAlignment=3oExl.ActiveSheet.Rows(3).HorizontalAlignment=3oExl.ActiveSheet.Rows(3).Font.Bold=.T.oExl.ActiveSheet.Range('A1:'+CHR(96+nMaxCol)+'1').MergeoExl.ActiveSheet.Range('A2:'+CHR(96+nMaxCol)+'2').Merge*------------------------------------------------------*&&条件格式隐藏0值edRange.FormatConditions.DeleteedRange.FormatConditions.Add(1,3,'0')edRange.FormatConditions(1).Font.ColorIndex=2&&文字白色*------------------------------------------------------*oExl.ActiveSheet.Range('A1:B1').Interior.ColorIndex=6 &&单元格底纹黄色*------------------------------------------------------*oExl.ActiveSheet.Columns.AutoFit &&自动列宽oExl.ActiveSheet.Range("A3:"+CHR(96+nMaxCol)+ALLTRIM(STR(nMaxRow))).Borders.Weight=2 &&边框线*------------------------------------------------------*&&自动筛选IF !oExl.ActiveSheet.AutoFilterMode &&判断是否存在自动筛选oExl.ActiveSheet.Rows(3).Autofilter &&如果不存在自动筛选,则添加自动筛选ENDIF*------------------------------------------------------*&&冻结窗格oExl.ActiveSheet.Range('D4').SelectoExl.ActiveWindow.FreezePanes = .T.*------------------------------------------------------**------------------------------------------------------*&&分类汇总Local Arry(1),nMaxRow,nMaxColArry(1)=5nMaxRow=edRange.Rows.CountnMaxCol=edRange.Columns.CountoExl.ActiveSheet.Range('A3:'+chr(96+nMaxCol)+alltrim(str(nMaxRow))).Subtotal(2,-4157,@Arry,.T .,.F.,.T.) &&按第2列分类汇总数组Arry保存的列*------------------------------------------------------*1、对象的创建与关闭*******************************oExl=CREATEOBJECT('Excel.application')&&创建Excel对象oExl.SheetsInNewWorkbook=1 &&新建工作簿默认包含工作表个数oExl.Workbooks.Add &&新建工作簿,工作表个数由SheetsInNewWorkBooks属性指定oExl.Workbooks.Open(cXLS,3,.T.)&&打开指定工作簿(更新链接/只读打开)oExl.Workbooks.Open(cXLS, [UpdateLinks], [ReadOnly], [Format], [Password], [WriteResPassword], [IgnoreReadOnlyRecommended], [Origin], [Delimiter], [Editable], [Notify], [Converter], [AddToMru], [Local], [CorruptLoad])oExl.Worksheets(cSheet).Activate&&激活工作表Sheet3 oExl.Worksheets(3).Activate &&激活(从左到右)第3个工作表oExl.WorkSheets.Count &&工作簿中工作表数oExl.DefaultSaveFormat=39 &&默认格式Excel 5.0oExl.DisplayAlerts=.F. &&不显示警告信息oExl.Visible=.T.&&显示Excel窗口oExl.Visible=.F.&&不显示Excel窗口oExl.Caption="Excel标题栏"&&更改Excel标题栏oExl.WorkSheet("Sheet2").Range("A1").PasteSpecial&&粘贴oExl.Quit &&退出ExceloExl.DisplayRecentFiles=.T. &&是否显示最近打开文档oExl.RecentFiles.Maximum=4 &&历史最大纪录数erName="XXXX" &&用户名oExl.StandardFont="宋体" &&标准字体oExl.StandardFontSize="12" &&标准字体大小oExl.DefaultFilePath="D:\XXXXXX\" &&默认工作目录oExl.EnableSound=False &&声音反馈oExl.RollZoom=False &&智能鼠标缩放oExl.TransitionMenuKey="/" &&Microsoft Office Excel菜单键oExl.ActiveWorkbook.Password="123"oExl.ActiveWorkbook.WritePassword="456"oExl.ActiveWorkbook.ReadOnlyRecommended=FalseoExl.ActiveWorkbook.SetPasswordEncryptionOptions PasswordEncryptionProvider:="", _PasswordEncryptionAlgorithm:="OfficeStandard", PasswordEncryptionKeyLength:=40 _, PasswordEncryptionFileProperties:=FalseIF oExl.ActiveWorkbook.FileFormat==39 &&格式为Excel 5.0工作簿ENDIFoExl.ActiveWorkBook.SaveAs(FileName,FileFormat,PassWord,WriteResPassWord,ReadOnlyRecom mended,CreateBackup)&&另存为&&参数说明FileName 字符型,指定文件名FileFormat 数值型,文件格式-4143 Microsoft Office Excel11 DBF439 Microsoft Excel 5.0/9543 Microsoft Excel97-Excel2003 & 5.0/9544 网页Html文件-4158 文本文件(制表符分隔)PassWord 字符型,只读密码WriteResPassWord 字符型,写密码ReadOnlyRecommended 逻辑型,建议只读CreateBackup 逻辑型,自动备份例如:oExl.ActiveWorkBook.SaveAs("d:\1.xls",39)oExl.ActiveWorkbook.saved=.T.&&放弃存盘oExl.ActiveWorkbook.Save&&存盘(自动存盘不提问)oExl.Workbooks.close&&关闭工作簿3、单元格的设置***********************************&&冻结窗格oExl.ActiveSheet.Range('D4').SelectoExl.ActiveWindow.FreezePanes = .T.&&条件格式设定oExl.ActiveSheet.Range('A1:H18').FormatConditions.Add(Type,Operator,Formula1,Formula2) Type 类型(1单元格数值,2公式)Operator 操作符(1介于,2不介于,3等于,4不等于,5大于,6小于,7大于等于,8小于等于) Formula1 表达式1Formula2 表达式2,操作符为1介于或2不介于才有效&&条件格式例句:数值为0者,文字颜色白色edRange.FormatConditions.DeleteedRange.FormatConditions.Add(1,3,'0')edRange.FormatConditions(1).Font.ColorIndex=2&&文字白色&&编辑edRange.Copy&&拷贝整个工作表oExl.ActiveSheet.Range("A1:E2").Copy&&拷贝指定区域oExl.ActiveSheet.Columns("D:D").Delete&&删除列oExl.ActiveSheet.Columns("A:B").Delete&&删除列oExl.ActiveSheet.Rows(1).Insert &&在第1行之前插入一行oExl.ActiveSheet.Columns(2).Insert&&在第2列之前插入一列oExl.ActiveSheet.Cells(1,2).Value="ABTMC"&&给单元格赋值oExl.ActiveSheet.Cells(2,2).Value="&BBBB"&&给单元格赋值oExl.ActiveSheet.Cells(1,4).ClearContents&&清除单元格公式oExl.ActiveSheet.Rows(18).PageBreak=1&&在第18行之前插入分页符oExl.ActiveSheet.Columns(4).PageBreak=0&&在第4列之前删除分页符oExl.ActiveSheet.Rows(3).AutoFilter &&自动筛选oExl.ActiveSheet.Cells(1,1).Delete(-4159) &&删除单元格-4159 右边单元格左移-4162 下边单元格上移oExl.Selection.EntireRow.Delete &&所在行整行删除oExl.Selection.EntireColumn.Delete &&所在列整列删除oExl.ActiveSheet.Cells(1,1).Insert(-4142) &&插入单元格-4142 活动单元格下移-4161 活动单元格右移oExl.ActiveSheet.Selection.EntireRow.Insert &&插入行oExl.ActiveSheet.Selection.EntireColumn.Insert &&插入列&&选择性粘贴oExl.ActiveSheet.Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=FalsePaste 粘贴数据:8列宽,11公式和数值格式,12数值与数值格式,-4104全部,-4123公式,-4163数值,-4122格式,Operation 运算符:-4142无,2加,3减,4乘,5除SkipBlanks 跳过空白单元:逻辑型Transpose 转置:逻辑型--------------------------------------------------&&排序成功例句:oExl.ActiveSheet.Range('A1:'+CHR(96+nMaxCol)+ALLTRIM(STR(nMaxRow))).Sort(oExl.ActiveSheet .Range(CHR(96+ASCAN(Arry,'原币金额'))+'2'),2,,,,,,1)&&按"原币金额"所在列降序排列,有标题oExl.ActiveSheet.Rows('1:28').SortKey1:=Range("A2"), Order1:=xlDescending,Key2:=Range("B2"), Order2:=xlAscending,Key3:=Range("C2"), Order3:=xlDescending,Header:=xlYes,OrderCustom:=6,MatchCase:=True,Orientation:=xlTopToBottom,SortMethod:=xlStroke,DataOption1:=xlSortNormal,DataOption2:=xlSortNormal,DataOption3:=xlSortNormal参数说明:2 xlDescending降序1 xlAscenging升序标题行:0 xlGuess1 xlYes,2 xlNo1 xlTopToBottom排序方法:1 xlPinYin,2 xlStroke0 xlSortNormalKey1 排序字段:取值类型是范围oExl.ActiveSheet.Range('B2')Order1 升序降序:xlAscending=1升序,xlDescending=2降序Header 有无标题:xlGuess=0自动判断,xlYes=1有,xlNo=2无orderCustom 排序顺序:1普通,6日一二三MatchCase 是否区分大小写:T区分,F不区分Orientation 1从头到底,2从左到右SortMethod 排序方法:xlPinYin=1拼音,xlStroke=2字母DataOption1 xlSortNormal=0正常DataOption2DateOption3&&分类汇总LOCAL Array(1)Array(1)=5oExl.ActiveSheet.Range('A1:G28').Subtotal(2,-4157,@Array,.T.,.F.,.T.)参数列表:GroupBy:=2, Function:=xlSum, TotalList:=Array(3), Replace:=True, PageBreaks:=False, SummaryBelowData:=True参数说明:GroupBy 分组字段序号Function 汇总方式:-4157求和,-4112计数TotalList 汇总数据项:保存汇总列序号的数组引用Replace 替换当前分类汇总:逻辑型,默认TPageBreaks 每组数据分页:逻辑型,默认FSummaryBelowData 汇总结果显示在数据下方:逻辑型,默认T&&汇总结果表间切换oExl.ActiveSheet.Outline.ShowLevels RowLevels:=2oExl.ActiveSheet.Outline.ShowLevels RowLevels:=1oExl.ActiveSheet.Outline.ShowLevels RowLevels:=3&&数值格式设置oExl.ActiveSheet.Range("A").NumberFormatLocal="0.00"&&指定区域内的数字显示格式&&对齐设置oExl.ActiveSheet.Range('A1:B1').HorizontalAlignment=3&&水平方向2左对齐,3居中,4右对齐edRange.VerticalAlignment=2&&垂直方向1靠上,2居中,3靠下oExl.ActiveSheet.Range('A1:B1').WrapText=.T. &&自动换行oExl.ActiveSheet.Range('A1:B1').Orientation = -4166 &&文字方向-4166 垂直向下oExl.ActiveSheet.Range('A1:B1').AddIndent = False &&缩进oExl.ActiveSheet.Range('A1:B1').IndentLevel = 2 &&缩进2字符oExl.ActiveSheet.Range('A1:B1').ShrinkToFit = .T. &&缩小以填充oExl.ActiveSheet.Range('A1:B1').ReadingOrder = -5002 &&文字阅读方向-5002 根据内容-5003 从左到右oExl.selection.MergeCells=.T.&&合并单元oExl.selection.HorizontalAlignment=2&&水平方向2左对齐,3居中,4右对齐oExl.selection.VerticalAlignment=2&&垂直方向1靠上,2居中,3靠下&&字体设置oExl.ActiveSheet.ROWS(1)="黑体"&&设置字体oExl.ActiveSheet.ROWS(1).Font.FontStyle="常规"oExl.ActiveSheet.ROWS(1).Font.Size=14&&设置字体大小oExl.ActiveSheet.ROWS(1).Font.Bold=.T.&&设置整行字体为粗体oExl.ActiveSheet.ROWS(1).Font.StrikeThrough=.T. &&删除线oExl.ActiveSheet.Cells(1,1).Font.Italic=.T.&&设置字体为斜体oExl.ActiveSheet.ROWS(1).Font.Superscript = .T. &&上标oExl.ActiveSheet.ROWS(1).Font.Subscript = .T. &&下标oExl.ActiveSheet.ROWS(1).Font.OutlineFont = FalseoExl.ActiveSheet.ROWS(1).Font.Shadow = FalseoExl.ActiveSheet.ROWS(1).Font.Underline = -4142 &&下划线oExl.ActiveSheet.ROWS(1).Font.ColorIndex = -4105 &&字体颜色自动设置oExl.ActiveSheet.ROWS(1).Font.Underline = 2 &&下划线类型下划线类型2 单下划线&&边框设置oExl.ActiveSheet.Range("b3:d3").Borders.Weight=2&&指定边框线宽度其中Borders参数:1-左、2-右、3-顶、4-底、5-斜\、6-斜/;不带参数表示默认上下左右四个边框LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)oExl.ActiveSheet.Range("A1:BE29").Borders(1).LineStyle=1 &&设置四个边框线条的类型oExl.ActiveSheet.Range("A1:BE29").Borders(2).LineStyle=1 &&设置四个边框线条的类型oExl.ActiveSheet.Range("A1:BE29").Borders(3).LineStyle=1 &&设置四个边框线条的类型oExl.ActiveSheet.Range("A1:BE29").Borders(4).LineStyle=1 &&设置四个边框线条的类型&&1 xlContinuous&&2 xlThin&&5 xlDiagonalDown&&6 xlDiagonalUp&&10 xlEdgeRight&&12 xlInsideHorizontal&&行列设置oExl.ActiveSheet.Columns(1).ColumnWidth=20&&列的宽度(单位:字符个数)oExl.ActiveSheet.Columns(2).ColumnWidth=30oExl.ActiveSheet.Columns("C:BE").ColumnWidth=9.5oExl.ActiveSheet.Columns.AutoFit&&最适合的列宽oExl.ActiveSheet.Rows(1).RowHeight=1/0.035&&设置指定行的高度(单位:磅)(行高为1厘米,1磅=0.035厘米)oExl.ActiveSheet.Range('A1:B1').Interior.ColorIndex=nColorIndex &&设置底纹常用颜色值ColorIndex1 黑色2 白色3 红色4 鲜绿5 蓝色6 黄色7 粉红8 青绿9 深红10 绿色13 紫罗兰15 灰-25%34 浅青绿36 浅黄38 玫瑰红39 淡紫40 茶色42 水绿46 橙色53 褐色54 梅兰oExl.ActiveSheet.Range('P3:P4').Orientation=-4166 &&文字方向垂直&&同一工作簿中复制工作表副本oExl.WorkSheets(1).Copy(oExl.ActiveWorkBook.Sheets(1))&&不同工作簿oExl.Sheets(1).copy(oExl.Workbooks("BOOK1.XLS").Sheets(1))3、页面设置***********************************************oExl.ActiveSheet.PageSetup.TopMargin=2/0.035&&设置顶边距oExl.ActiveSheet.PageSetup.BottomMargin=1.5/0.035&&设置底边距oExl.ActiveSheet.PageSetup.LeftMargin=0&&设置左边距oExl.ActiveSheet.PageSetup.RightMargin=0&&设置右边距&&页眉页脚oExl.ActiveSheet.PageSetup.HeaderMargin=1.5/0.035&&设置页眉边距oExl.ActiveSheet.PageSetup.FooterMargin=0.8/0.035&&设置页脚边距oExl.ActiveSheet.PageSetup.LeftHeader="&9XXXXXX"oExl.ActiveSheet.PageSetup.CenterHeader=""oExl.ActiveSheet.PageSetup.RightHeader="&9 "oExl.ActiveSheet.PageSetup.LeftFooter=""oExl.ActiveSheet.PageSetup.CenterFooter="&9第&P页,共&N页"oExl.ActiveSheet.PageSetup.RightFooter="&9制表人:xxx "&P页序号&N页总数&D日期,&T时间&S删除线&Y下标&Z路径&F文件&A标签&G图片&X上标&""隶属,倾斜""&9九号字体&U下划线&B粗体&&左页眉图片设定oExl.ActiveSheet.PageSetup.LeftHeaderPicture.Filename="D:\2.jpg"oExl.ActiveSheet.PageSetup.LeftHeaderPicture.Height = 45oExl.ActiveSheet.PageSetup.LeftHeaderPicture.Width = 11.25oExl.ActiveSheet.PageSetup.LeftHeaderPicture.Brightness = 0.51oExl.ActiveSheet.PageSetup.LeftHeaderPicture.ColorType = msoPictureGrayscale oExl.ActiveSheet.PageSetup.LeftHeaderPicture.CropBottom = 28.35oExl.ActiveSheet.PageSetup.LeftHeaderPicture.CropLeft = 28.35oExl.ActiveSheet.PageSetup.LeftHeaderPicture.CropRight = 28.35oExl.ActiveSheet.PageSetup.LeftHeaderPicture.CropTop = 28.35oExl.ActiveSheet.PageSetup.CenterHorizontally=.T.&&设置页面水平居中oExl.ActiveSheet.PageSetup.CenterVertically=.T.&&设置页面垂直居中&&设置页面纸张大小oExl.ActiveSheet.PageSetup.Orientation=2&&页面方向2表示横向oExl.ActiveSheet.PageSetup.PaperSize=11纸张大小:9 A411 A570 A6oExl.ActiveSheet.PageSetup.Draft=.T.oExl.ActiveSheet.PageSetup.FirstPageNumber=1oExl.ActiveSheet.PageSetup.Order=1&&单色打印oExl.ActiveSheet.PageSetup.BlackAndWhite=.T.oExl.ActiveSheet.PageSetup.PrintComments=-4142oExl.ActiveSheet.PageSetup.Zoom=100 &&缩放100%oExl.ActiveSheet.PageSetup.Zoom=.F. &&禁用缩放oExl.ActiveSheet.PageSetup.FitToPagesWide=1 &&调整为一页宽oExl.ActiveSheet.PageSetup.FitToPagesTall=1 &&调整为一页高oExl.ActiveSheet.PageSetup.PrintHeadings=.T.oExl.ActiveSheet.PageSetup.PrintGridLines=.T.oExl.ActiveSheet.PageSetup.PrintErrors=oExl.ActiveSheet.PageSetup.PrintQuality=600 &&打印质量oExl.ActiveSheet.PageSetup.PrintTitleRows="$1:$3"&&固定标题行oExl.ActiveSheet.PageSetup.PrintTitleColumns="$A:$C"&&固定标题列oExl.ActiveSheet.PageSetup.PrintGridlines=.T.&&打印单元格网线*********************************************************&&打印oExl.ActiveSheet.PrintPreview&&打印预览工作表oExl.ActiveSheet.PageSetup.PrintArea="$A$1:$E$30" &&设置打印区域ActiveSheet.PageSetup.PrintArea = "" &&取消打印区域ActiveWorkbook.WebPagePreview &&网页预览oExl.ActiveSheet.PrintOut&&打印输出工作表5、VFP下直接调用EXCEL、WORD文件DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING,STRING lpszFile,STRING, STRING,INTEGERoperate="open"ShellExecute(0,operate,"C:\111.XLS",0,0,1)&&EXCEL文件ShellExecute(0,operate,"C:\111.DOC",0,0,1)&&WORD文件oExcel=Createobject("Excel.application")&&创建Excel对象**对象属性1、添加Sheets.Add before:=Sheets(1) '在第1工作表前添加新工作表Sheets.Add after:=Sheets(Sheets.Count) '在最后工作表后添加新工作表2、移动ActiveSheet.Move before:=Sheets(2) '将当前工作表移动至第2工作表之前3、命名="工作表名" '将当前工作表命名为"工作表名"4、删除可以用以下语句删除当前工作表。

VFP 控制 EXCEL 的方法(最全)(DOC)

VFP 控制 EXCEL 的方法(最全)(DOC)

新编 VFP 控制 EXCEL 的方法最近正好有空,看到不少人对VFP控制EXCEL有兴趣,现将上次的"精华贴"重新整理一下,供各位爱好者参考!1、对象的创建与关闭 *******************************eole=CREATEOBJECT('Excel.application') && 创建Excel对象eole.Workbooks.add && 添加新工作簿eole.Worksheets("sheet3").Activate && 设置第3个工作表为激活工作表eole.Workbooks.Open("D:\ABC\11.xls") && 打开指定工作簿eole.visible=.t. && 显示Excel窗口eole.visible=.F. && 不显示Excel窗口eole.Caption="VFP应用程序调用Microsoft Excel" && 更改Excel标题栏eole.ActiveWorkbook.SaveAs("D:\ABC\22.xls") && 工作表另为eole.ActiveWorkbook.saved=.t. && 放弃存盘edRange.Copy && 拷贝整个工作表eole.ActiveSheet.Range("A1:E2").Copy && 拷贝指定区域eole.WorkSheet("Sheet2").Range("A1").PasteSpecial && 粘贴eole.Sheets.Count &&sheets的数量eole.Sheets.item(1).cell(1,1) &&sheet1的单元格存取(无需激活)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.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(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,2).value="&BBBB" && 给单元格赋值eole.ActiveSheet.Cells(1,4).ClearContents && 清除单元格公式eole.cells(1,2).value="ABTMC"+CHR(10)+"ABTMC" && 单元格内强制换行eole.ActiveSheet.Rows(1).RowHeight=1/0.035 && 设置指定行的高度(单位:磅) *(行高为1厘米,1磅=0.035厘米) eole.ActiveSheet.ROWS(1)="黑体" && 设置字体eole.ActiveSheet.ROWS(1).Font.Size=14 && 设置字体大小eole.ActiveSheet.ROWS(1).Font.Bold=.t. && 设置整行字体为粗体eole.ActiveSheet.Cells(1,1).Font.Italic=.t. && 设置字体为斜体eole.ActiveSheet.ROWS(1).Font.Underline = .t. && 设置下划线eole.ActiveSheet.ROWS(1).Font.FontStyle = "常规" && 字形eole.ActiveSheet.ROWS(1).Font.OutlineFont = .t. && 删除线----------------------取数据的一部分进行操作-----------------eole.ActiveSheet.Cells(1,1).Characters(3,2).Font.Bold= .T. &&取单元格数值的一部分进行设定,其中3为取得的起始位置,2为取得的字符个数。

如何在VFP中调用默认关联的程序打开文件

如何在VFP中调用默认关联的程序打开文件

如何在VFP中调用默认关联的程序打开文件在Visual FoxPro(VFP)中,可以使用SHELL命令调用默认关联的程序来打开文件。

SHELL命令允许执行操作系统命令或其他可执行文件。

要在VFP中使用SHELL命令来打开文件,请按照以下步骤进行操作:步骤1:确定默认关联的程序首先,您需要确定要打开的文件类型的默认关联程序。

这可以通过右键单击文件并选择“打开方式”来完成。

然后可以看到系统选择的默认程序。

步骤2:使用SHELL命令使用SHELL命令来调用默认关联的程序,语法如下:``````步骤3:构建命令字符串构建调用默认关联程序的命令字符串,将默认关联程序的路径和要打开的文件作为参数传递给命令字符串。

可以使用FILE命令来获取文件的路径和名称。

``````在这个命令字符串中,“start”是Windows系统的命令,用于启动关联的程序,文件路径和名称是由FILE函数返回的结果。

步骤4:执行SHELL命令最后,使用构建的命令字符串执行SHELL命令。

``````这将调用默认关联的程序来打开指定的文件。

以下是一个完整的示例,演示如何使用SHELL命令在VFP中调用默认关联程序打开文件:```CLEARfile_path_and_name = GETFILE("Open", "选择要打开的文件")IF !EMPTY(file_path_and_name)ENDIF```在这个示例中,首先通过GETFILE函数获取要打开的文件的路径和名称。

然后,构建命令字符串并使用SHELL命令执行它,以调用默认关联的程序打开文件。

请注意,SHELL命令在不同的操作系统上可能会有所不同。

在Windows系统上,“start”命令通过默认关联的程序打开文件。

在其他操作系统上,可能需要使用不同的命令或方法来实现相同的功能。

希望这些信息对您有所帮助!。

VFP第三章表的创建和使用3.2表的打开与关闭

VFP第三章表的创建和使用3.2表的打开与关闭

3.2 表的打开与关闭VFP 在使用一个表时,首先必须把表打开。

一个打开的表必须占用一个工作区。

3.2.1 工作区所谓工作区是指用以标识一个打开的表的区域。

打开一个表时,必须为该表指定一个“工作区”。

每个工作区有一个编号。

称为工作区号,其编号范围为1~32747(前10个工作区号也可以用字母A~J表示)如果工作区中已有打开的表,可以用表的“别名”作为工作区号。

默认第一次打开又没有设置别名,那么别名就是表名。

以后看到别名大多数都是指的表名一个工作区中只能打开一个表。

如果在一个工作区中已经打开了一个表,再在此工作区中打开另一个表时,前一个表将自动被关闭。

但可以同时在多个工作区中打开多个表。

一个表也可以在多个工作区中多次被打开。

VFP 正在使用的工作区称为当前工作区,即默认的工作区。

当通过界面交互式地或用命令进行有关表的处理操作时,如果不指定其他工作区,则其作用对象是当前工作区中的表。

VFP启动后,系统默认的当前工作区号为1。

选择工作区格式是:SELECT 工作区号|别名例如,JS表已在2号工作区中打开,当前工作区为1。

要把JS表所在工作区选为当前工作区的命令是:SELECT JS或SELECT 23.2.3 表的打开和关闭在“项目管理器”窗口中选择需要打开的表后单击“修改”或“浏览”按钮时也会自动地打开。

表的这种打开是在当前未被使用的最小工作区中打开,且该工作区为当前工作区。

(2).使用命令打开表在“命令”窗口或程序中,可以使用USE命令打开一张表。

该命令的基本语法格式:USE TableName[IN nWorkArea|cTableAlis] [AGAIN][ALIAS cTableAlias][NOUPDATE]IN子句用于指定表在哪个工作区中打开,缺省时为当前工作区;AGAIN 用于说明该表再次打开,即表在多个工作区中同时被打开;ALIAS子句用于定义表的别名,缺省时表的别名一般与表名相同;NOUPDATE 指定表打开后不允许修改其结构和数据。

关于vfp控制excel、word的常用东东

关于vfp控制excel、word的常用东东

关于vfp控制excel、word的常用东东头大mailto:ppp1117@大家对vfp中通过OLE调用excel、word完成报表、数据转换等功能还感兴趣,请按以下步骤得到完整的VBA帮助:1、安装ms office 97/2000;2、启动excel、word,单击“工具”-“宏”-“Visual Basic编辑器”进入,再选“帮助”菜单即可(注意:第一次使用VBA帮助会提示插入光盘安装VBA帮助的)。

现将excel下常见的东东搜集整理如下:1.创建Excel对象_ole_excel = CreateObject("Excel.Application")2.打开指定工作表_ole_excel.WorkBooks.Open("工作表文件名") && 要打开的工作表名(xls)必须是全路径3.添加新工作簿_ole_excel.WorksBooks.Add4.激活指定的工作簿_ole_excel.WorkSheets("工作簿名").Activate5.设置Excel对象为可见,一般为调试用_ole_excel.visible = .t.6.更改Excel对象标题栏_ole_excel.Caption = "VFP程序OLE调用Excel"7.给单元格赋值_ole_excel.cells(行,列).value = 变量 && 重要,一般由VFP传递数据给excel即由此句,可以是VFP支持的任何数据8.设置指定列的宽度_ole_excel.ActiveSheet.Columns(列).ColumnWidth = 字符个数9.设置指定行的高度(默认单位:磅)_ole_excel.ActiveSheet.Rows(行).RowHeight = 1/0.035 && 设定行高为1厘米,1磅=0.035厘米10.在第18行之前插入分页符_ole_excel.WorkSheets("Sheet1").Rows(18).PageBreak = 111.在第4列之前删除分页符_ole_excel.ActiveSheet.Columns(4).PageBreak = 012.设置四个边框线条的类型及风格_ole_excel.ActiveSheet.Range(范围).Borders(线型).LineStyle = 1 && 范围指起止的单元格,如"B1:H9";Borders为边框线条:1-左,2-右,3-顶,4-底,5-斜线\,6-斜线/;LineStyle为线型参数:1-细实线,2-细虚线,……4-点虚线,……,9-双细实线13.指定边框线宽度(Borders为边框线条,参见上条;默认单位:磅)_ole_excel.ActiveSheet.Range(范围).Borders(线型).Weight = 214.设置页眉_ole_excel.ActiveSheet.PageSetup.CenterHeader = "什么什么报表"15.设置页脚_ole_excel.ActiveSheet.PageSetup.CenterFooter = "第&P页"16.设置页眉到顶端边距_ole_excel.ActiveSheet.PageSetup.HeaderMargin = 2/0.035 && 2厘米17.设置页脚到底边边距_ole_excel.ActiveSheet.PageSetup.FooterMargin = 3/0.035 && 3厘米18.设置顶边距_ole_excel.ActiveSheet.PageSetup.TopMargin = 3/0.035 && 3厘米19.设置底边距_ole_excel.ActiveSheet.PageSetup.BottomMargin = 3/0.035 && 3厘米20.设置左边距_ole_excel.ActiveSheet.PageSetup.LeftMargin = 3/0.035 && 3厘米21.设置右边距_ole_excel.ActiveSheet.PageSetup.RightMargin = 3/0.035 && 3厘米22.设置页面水平居中_ole_excel.ActiveSheet.PageSetup.CenterHorizontally = .t.23.设置页面垂直居中_ole_excel.ActiveSheet.PageSetup.CenterVertically = .t.24.设置页面纸张大小,重要!很多网友需要的东东_ole_excel.ActiveSheet.PageSetup.PaperSize = 纸张类型 && 下面列出常见的纸张;可为下列 XlPaperSize 常量之一(某些打印机可能不支持所有的这些纸张大小);常量数值意义;xlPaperLetter 1 Letter (8-1/2 in. x 11 in.)xlPaperA3 8 A3 (297 mm x 420 mm)xlPaperA4 9 A4 (210 mm x 297 mm)xlPaperA4Small 10 A4 Small (210 mm x 297 mm)xlPaperA5 11 A5 (148 mm x 210 mm)xlPaperB4 12 B4 (250 mm x 354 mm)xlPaperB5 13 B5 (182 mm x 257 mm)xlPaperFanfoldUS 39 U.S. Standard Fanfold (14-7/8 in. x 11 in.)xlPaperUser 用户自定义25.打印单元格网线_ole_excel.ActiveSheet.PageSetup.PrintGridLines = .t.26.拷贝整个工作表_ole_edRange.Copy27.拷贝指定区域_ole_excel.ActiveSheet.Range(范围).Copy28.粘贴_ole_excel.WorkSheet("工作簿").Range(单元格).PasteSpecial && 单元格如"K9"29.在第2行之前插入一行_ole_excel.ActiveSheet.Rows(2).Insert30.在第2列之前插入一列_ole_excel.ActiveSheet.Columns(2).Insert31.设置字体_ole_excel.ActiveSheet.Cells(行,列) = "黑体"32.设置字体大小(默认单位:点)_ole_excel.ActiveSheet.Cells(行,列).Font.Size = 1633.设置字体为斜体_ole_excel.ActiveSheet.Cells(行,列).Font.Italic = .t.34.设置整列字体为粗体_ole_excel.ActiveSheet.Columns(列).Font.Bold = .t.35.合并单元格,重要!_ole_excel.Worksheets("工作簿名").Range(范围).merge && 范围必须指定起止的单元格,如"A1:B4"36.撤销合并单元格,上述操作的逆操作_ole_excel.Worksheets("工作簿名").Range(范围).unmerge37.在单元格中设置公式(重要,一般可以用来实现计算汇总、求平均等很多功能)_ole_excel.cells(行,列).value = "=公式" && 可以使用所有VBA内部函数,如sum()等。

vfp直接读取EXCEL文件的示例

vfp直接读取EXCEL文件的示例

vfp直接读取EXCEL文件的示例vfp直接读取EXCEL文件的示例M_File=GETFILE('xls','订单文件')IF M_File=""=MESSAGEBOX("请选择待导入的收订单文件!",0 48,"提示") RETURNELSEIF JUSTEXT(M_FILE)#"XLS" &&获得文件扩展名=MESSAGEBOX("您选择的不是EXCEL文档!",0 48,"提示")RETURNENDIFENDIFUSE 图书订单表ZAPmyexcel=createobject('excel.application') &&创建一个对象myexcel.visible=.f.&&不可见bookexcel=myexcel.workbooks.open(M_File) &&打开指定文件o_SheetName= &&获取当前激活工作表的名称UsedRange=bookexcel.worksheets(o_SheetName).UsedRange &&返回工作表中可使用的区域,UsedRange表的属性o_rows=UsedRange.rows.count &&汇总行o_cols=UsedRange.columns.count &&汇总列IF o_rows<=1=MESSAGEBOX("待导入数据行数太少,请检查!",0 16,"提示") ELSEFOR i=2 TO o_rowsm1=myexcel.cells(i,1).value &&书号m2=myexcel.cells(i,2).value &&书名m3=myexcel.cells(i,3).value &&出版社m4=myexcel.cells(i,4).value &&作者m5=myexcel.cells(i,5).value &&定价m6=myexcel.cells(i,6).value &&数量APPEND BLANKREPLACE 书号 WITH m1,书名 WITH m2,出版社 WITH m3,作者WITH m4,定价 WITH m5,数量 WITH m6ENDFORENDIFmyexcel.workbooks.close &&关闭工作区myexcel.quit &&关闭excelbrow。

VFP控制Excel进行处理数据

VFP控制Excel进行处理数据

*!*VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。

比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。

这就需要我们在VFP中直接来控制Excel。

下面就在开发VFP应用项目时对Excel的控制作一下介绍:oExcel=Createobject("Excel.application") &&创建Excel对象**对象属性oExcel.Visible=.T. &&显示Excel窗口oExcel.Caption="VFP应用程序调用Microsoft Excel" &&更改Excel标题栏oExcel.DisplayAlerts = .F. &&关闭提示和警告消息,运行结束后,应将本属性设置回 True 值oExcel.cells(1,4).Value=XM(XM为数据库字段名) &&给单元格赋值**Workbooks属性oExcel.Workbooks.Add &&添加新工作簿oExcel.Workbooks.Open("c:\temp\ll.xls") &&打开指定工作簿oExcel.Workbooks.Close &&关闭工作簿oExcel.Quit &&退出ExcelRelease oExcel &&只有释放对象变量, EXCEL进程才会完全关闭**Worksheets属性oExcel.Worksheets("sheet3").Activate &&设置第3个工作表为激活工作表oExcel.Worksheets("Sheet1").Rows(18).PageBreak=1 &&在第18行之前插入分页符oExcel.WorkSheet("Sheet2").Range("A1").PasteSpecial &&粘贴**ActiveWorkbook属性oExcel.ActiveWorkbook.SaveAs("c:\temp\22.xls") &&工作表另存为oExcel.ActiveWorkbook.saved=.T. &&放弃存盘,避免出现保存对话框oExcel.ActiveWorkbook.Save &&存盘oExcel.ActiveWorkbook.Close(.F.) &&关闭工作簿oExcel.ActiveWorkbook.Protect('密码',.T.,.T.) &&保护工作薄(第一个.T.:保护工作簿结构,第二个.T.:保护工作簿窗口)**ActiveSheet属性edRange.Copy &&拷贝整个工作表oExcel.ActiveSheet.PrintPreview &&打印预览工作表oExcel.ActiveSheet.PrintOut &&打印输出工作表oExcel.ActiveSheet.Protect('密码',.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.) &&保护工作表oExcel.ActiveSheet.Protection.AllowEditRanges.Add("区域3",oExcel.ActiveSheet.Range("A2:D5")) &&设置允许用户编辑区域**表格列属性oExcel.ActiveSheet.Columns(2).Insert &&在第2列之前插入一列oExcel.ActiveSheet.Columns(1).ColumnWidth=5 &&设置指定列的宽度(单位:字符个数)oExcel.ActiveSheet.Columns(4).PageBreak=0 &&在第4列之前删除分页符oExcel.ActiveSheet.Columns(1).Font.Bold=.T. &&设置整列字体为粗体**表格行属性oExcel.ActiveSheet.Rows(2).Insert &&在第2行之前插入一行oExcel.ActiveSheet.Rows(1).RowHeight=1 &&设置指定行的高度(单位:磅)(设定行高为 1磅, 1磅=0.035厘米)oExcel.ActiveSheet.Rows("50:100").RowHeight=1 &&设置第50行至100行的高度**表格范围属性oExcel.Range("A4:c4").HorizontalAlignment =1 &&水平(1-默认、2-靠左、3-居中、4-靠右、5-填充、6=两端对齐、7=跨列居中、8=分散对齐)oExcel.Range("A4:c4").VerticalAlignment =2 &&垂直(1=靠上、2=居中、3=靠下、4=两端对齐、5=分散对齐)oExcel.Range("A4:C4").WrapText =.F. &&文本自动换行oExcel.ActiveSheet.Range("A4:B5").Merge=.T. &&合并单元格oExcel.ActiveSheet.Range("A1:E2").Copy &&拷贝指定区域oExcel.ActiveSheet.Range("b3:d3").BorderS(2).Weight=3 &&指定边框线宽度(Borders参数如下)oExcel.ActiveSheet.Range("b3:d3").BorderS(2).LineStyle=1 &&设置四个边框线条的类型&&(其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)**页面设置WITH oExcel.ActiveSheet.PageSetup.CenterHeader="报表1" &&设置页眉.CenterHeader="&50报表1" &&设置页眉(字体大小),'&'后面的50可以自定义,表示字体的大小.CenterFooter="第&P页" &&设置页脚(LeftFoot:居左,CenterFooter:居中,RightFooter:居右).CenterFooter="&28第&P页共&N页" &&设置页脚(字体大小),'&'后面的28可以自定义,表示字体的大小.HeaderMargin=2/0.035 &&设置页眉到顶端边距为2厘米.FooterMargin=3/0.035 &&设置页脚到底边距为3厘米.TopMargin=2/0.035 &&设置顶边距为2厘米.BottomMargin=4/0.035 &&设置底边距为4厘米.LeftMargin=2/0.035 &&设置左边距为2厘米.RightMargin=2/0.035 &&设置右边距为2厘米.CenterHorizontally=.T. &&设置页面水平居中.CenterVertically=.T. &&设置页面垂直居中.Papersize=1 &&设置页面纸张大小(1-窄行8511 39-宽行1411 9:A4).Orientation=1 &&设置纸张方向(1-竖向,2-横向).PrintTitleRows="$1:$2" &&设置顶端标题行,(每页都打印行标头(每页顶部出现的单元格的行)) .PrintGridlines=.T. &&打印单元格网线.Zoom=75 &&设置缩放比例为75%ENDWITH**单元格设置WITH oExcel.ActiveSheet.Cells(1,1) &&第一行第一列单元格="黑体" &&字体名字.Font.Size=25 &&大小.Font.Italic=.T. &&为斜体(Bold-粗体).Value="数值" &&给单元格赋值.ClearContents &&清除单元格公式ENDWITH*以下为一些过程*检测当前目录是否有同名的EXCEL表,如果有先删除,再另存If !File(Sys(5) + Curdir() + "result.xls")oExcel.ActiveWorkbook.SaveAs(Sys(5) + Curdir() + "result.xls")ElselcFileName = loExcel.GetSaveAsFilename("result", "Excel (*.xls), *.xls")If !Empty(lcFileName)If File(lcFileName)Delete File (lcFileName)EndifoExcel.ActiveWorkbook.SaveAs(lcFileName)EndifEndif*!*拷贝整个工作表(含格式)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列的值*!* 显示某个单元格的批注内容oExcel=Createobject("Excel.application")oExcel.Workbooks.Open("d:\TEST\testa.xls")oExcel.Visible=.T.oExcel.Range("B5").Comment.Text &&显示B5单元格的批注内容oExcel.Workbooks.CloseoExcel.QuitRelease oExcel*!* 将当前工作表中的已用区域(只读)存入数组。

VF中正确导入EXCEL表的几种方法

VF中正确导入EXCEL表的几种方法

VF中正确导入EXCEL表的几种方法VF中正确导入EXCEL表的几种方法一次在处理全县小学生毕业会考成绩时,由于各学校交的表格不一致,也不方便统计,为了统计方便、快速、准确无误,把EXCEL表格转换为VF的表,但在转换过程中,打开VFP,点击菜单的“文件”——“导入”,将excel表格导入成VF的表时!出现了如下图的C00005异常代码经过认真思考,反复探索、多次实践,终于探索出正常将excel表格导入成VF的表的几种方法,以供大家分享。

(1)用向导导入。

现在的xls文件一般都是Excel 2000或更高版本做的。

要用向导导入时,必须注意其格式,用VFP6.0和EXCEL2000,在VFP6.0里导入EXCEL2000表就会出现"出现C00005代码异常"提示。

出现这种错误后,不要急,没有其它软件也不怕,你只要在Excel中打开先要导入的文件表,然后另存为Excel 5.0格式的表格,再用向导导入刚才另存的Excel 5.0格式的表格就可以正确了。

(2)除了上面这种方法外,经过认真思考,还可以通过VF中表与文本文件之间的数据交换命令appe from 来实现转换。

具体步骤如下,首先打开Excel文件,在另存对话框中选文本文件(制表符分隔)格式,然后保存;再进入VFP,打开数据表(自己先建立一个数据表);然后用APPE FROM 文本文件.TXT DELI WITH TAB将文本文件内容导入到自己新建的数据表中。

注意:自己所建的表中字段宽度要给宽一点,类型一律用字符型,否则给出现数据丢失。

(3)用低级文件控制函数转换TEXT文件到VF表中。

先将Excel文件另存为文本文件(制表符分隔);再用VF中的低级文件控制函数转换TEXT文件到VF表中。

首先看一下文本文件(制表符分隔)的格式:在WINDOWS文本文件格式中,每行文本的末尾包括两个不可见字符,即一个是回车符CHR(13)与另一个换行符CHR(10),在读取过程中,需要将这两个字符删除;文本文件中各项采用空格“”或换行符CHR(9)或逗号“,”分隔。

VFP对Excel文件操作的总结

VFP对Excel文件操作的总结

VFP对Excel文件操作的总结首先创建Excel 对象,使用ComObj:var ExcelApp: Variant;ExcelApp := CreateOleObject( 'Excel.Application' );1) 显示当前窗口:ExcelApp.Visible := True;2) 更改Excel 标题栏:ExcelApp.Caption := '应用程序调用Microsoft Excel';3) 添加新工作簿:ExcelApp.WorkBooks.Add;4) 打开已存在的工作簿:ExcelApp.WorkBooks.Open( 'C:\Excel\Demo.xls' );5) 设置第2个工作表为活动工作表:ExcelApp.WorkSheets[2].Activate;或ExcelApp.WorksSheets[ 'Sheet2' ].Activate;6) 给单元格赋值:ExcelApp.Cells[1,4].Value := '第一行第四列';7) 设置指定列的宽度(单位:字符个数),以第一列为例: ExcelApp.ActiveSheet.Columns[1].ColumnsWidth := 5;8) 设置指定行的高度(单位:磅)(1磅=0.035厘米),以第二行为例: ExcelApp.ActiveSheet.Rows[2].RowHeight := 1/0.035; // 1厘米9) 在第8行之前插入分页符:ExcelApp.WorkSheets[1].Rows[8].PageBreak := 1;10) 在第8列之前删除分页符:ExcelApp.ActiveSheet.Columns[4].PageBreak := 0;11) 指定边框线宽度:ExcelApp.ActiveSheet.Range[ 'B3:D4' ].Borders[2].Weight := 3;1-左2-右3-顶4-底5-斜( \ ) 6-斜( / )12) 清除第一行第四列单元格公式:ExcelApp.ActiveSheet.Cells[1,4].ClearContents;13) 设置第一行字体属性:ExcelApp.ActiveSheet.Rows[1] := '隶书'; ExcelApp.ActiveSheet.Rows[1].Font.Color := clBlue; ExcelApp.ActiveSheet.Rows[1].Font.Bold := True;ExcelApp.ActiveSheet.Rows[1].Font.UnderLine := True;14) 进行页面设置:a.页眉:ExcelApp.ActiveSheet.PageSetup.CenterHeader := '报表演示';b.页脚:ExcelApp.ActiveSheet.PageSetup.CenterFooter := '第&P页';c.页眉到顶端边距2cm:ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 2/0.035;d.页脚到底端边距3cm:ExcelApp.ActiveSheet.PageSetup.HeaderMargin := 3/0.035; e.顶边距2cm:ExcelApp.ActiveSheet.PageSetup.TopMargin := 2/0.035;f.底边距2cm:ExcelApp.ActiveSheet.PageSetup.BottomMargin := 2/0.035; g.左边距2cm:ExcelApp.ActiveSheet.PageSetup.LeftMargin := 2/0.035;h.右边距2cm:ExcelApp.ActiveSheet.PageSetup.RightMargin := 2/0.035;i.页面水平居中:ExcelApp.ActiveSheet.PageSetup.CenterHorizontally := 2/0.035; j.页面垂直居中:ExcelApp.ActiveSheet.PageSetup.CenterVertically := 2/0.035; k.打印单元格网线:ExcelApp.ActiveSheet.PageSetup.PrintGridLines := True;15) 拷贝操作:a.拷贝整个工作表:ed.Range.Copy;b.拷贝指定区域:ExcelApp.ActiveSheet.Range[ 'A1:E2' ].Copy;c.从A1位置开始粘贴:ExcelApp.ActiveSheet.Range.PasteSpecial;16) 插入一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Insert;b. ExcelApp.ActiveSheet.Columns[1].Insert;17) 删除一行或一列:a. ExcelApp.ActiveSheet.Rows[2].Delete;b. ExcelApp.ActiveSheet.Columns[1].Delete;18) 打印预览工作表:ExcelApp.ActiveSheet.PrintPreview;19) 打印输出工作表:ExcelApp.ActiveSheet.PrintOut;20) 工作表保存:if not ExcelApp.ActiveWorkBook.Saved thenExcelApp.ActiveSheet.PrintPreview;21) 工作表另存为:ExcelApp.SaveAs( 'C:\Excel\Demo1.xls' );22) 放弃存盘:ExcelApp.ActiveWorkBook.Saved := True;23) 关闭工作簿:ExcelApp.WorkBooks.Close;24) 退出Excel:ExcelApp.Quit;25) 关闭程序时,释放Excel应用对象procedure TForm1.FormDestroy(Sender: TObject);begin//关闭ExcelApp//若不进行这一步,在任务管理器中会驻留Excel进程//但可以不必关闭Excel (eclApp.Quit),这样,操作员可以继续编辑或打印表格ExcelApp:= Unassigned;end;25) 工作区已用的最大行数rcount:=ExcelApp.WorkSheets[1].usedrange.rows.count;26) 是否提示存盘excelapp.DisplayAlerts:=false;Vfp控制Excel全操作集◆访问EXCEL:ExcelSheet = GetObject('','Excel.Sheet')返回结果为类,则成功。

EXCEL文档和VFP-(DBF)数据库文档的相互转换

EXCEL文档和VFP-(DBF)数据库文档的相互转换

EXCEL文档与VFP (DBF)数据库文档的互相转换(以EXCEL2003和VFP6.0为例进行说明,其他版本类似)在办公过程中,有时为适应不同程序的需要,我们需要进行文档的转换。

微软的办公软件是我们使用得最多的。

在MS OFFICE中的EXCEL和VFP的数据库DBF文档之间进行转换,很多人都会把DBF文档转换成EXCEL文档,不就是直接导出就行了嘛。

但是,把EXCEL文档转换成DBF 数据库文档很多人就不会了,这里详细解说一下具体操作。

一、VFP数据库文档(*.dbf)转EXCEL文档(*.xls)直接导出成EXCEL(*.xls)文档就行了。

1、启用VFP6.0,打开要转换的DBF文档。

可点击“显示”-“浏览”查看刚打开的DBF数据库文档。

2、点击“文件”-“导出(E)……”,打开对话框,在“类型”里选择Microsoft Excel 5.0(XLS),在“到(O)”里输入将要生成的文件存储位置及文件名,也可点如下红圈里位置直接指明位置,点保存。

此时就将VFP数据库文档(*.dbf)转换成了EXCEL文档(*.xls)文档,可直接打开新生成的EXCEL文档,保存时会出现如下提示,直接点是保存为EXCEL2003版的格式。

二、将EXCEL文档(*.xls) 转成VFP数据库文档(*.dbf)一般我们可以直接使用VFP的导入功能。

启动VFP6.0,点击“文件”-“导入(I)……”,打开对话框,在“类型”里选择Microsoft Excel 5.0(XLS),定位到来源文件,再点确定就生成了一个新的DBF文档。

但是,我们再进行浏览时会发现字段名不对,本来应该是字段名的成了第一条记录了!如下图:实际上我们的操作略作修改就可以了方法1:(此法最简单)在对EXCEL保存时选“另存为”,选择保存类型为DBF4(Dbase IV)(*.dbf)格式。

当鼠标点选的单元格在数据区域外进行保存时,会出现以下提示框:当点选了数据区域内的单元格后再进行保存操作就可以了。

如何在vfp中调用excel实现图、表的制作(之八)

如何在vfp中调用excel实现图、表的制作(之八)

如何在vfp中调用excel实现图、表的制作(之八)如何在vfp中调用excel实现图、表的制作(之八)本讲纯属凑数,将搜集的一些可能用到的VFP调用Excel指令语句罗列出来供各位在编程时参考。

所幸没有稿酬可赚,也就没有骗稿费之嫌,各位看官也就不会责怪我。

呵呵。

1. 创建Excel对象eole=CreateObject(“Excel.application”)2. 添加新的工作簿eole.Workbooks.Add3. 打开指定工作簿eole.Workbooks.Open(“C:\demo.xls”)4. 设置第三个工作表为激活(作用)工作表eole.WorkSheets(“Sheet3”).Activate5. 是否显示Excel窗口eole.Visible=.T. (.T. 显示;.F.不显示)6.关闭工作簿eole.Workbooks.Close7.退出Exceleole.quit8.保存当前工作簿eole.ActiveWorkbook.Save9.当前工作簿另存为eole.ActiveWorkbook.SaveAs(“e:\temp\my1.xls”)10.退出时是否存盘eole.ActiveWorkbook.Saved=.F. (.F. 放弃存盘;.T.不放弃存盘)11.是否防止警告框的出现eole.DisplayAlerts=.F. (.F. 不出现;.T.出现)12.运行Excel宏eole.Application.Run(“宏1”)13.当前屏不显示零值eole.ActiveWindow.DisplayZeros=.F.14.更改Excel标题栏内容eole.Caption=”趋势分析表”15. 给单元格赋值eole.Cells(1,4).Value=3.141616.选定区域eole.ActiveSheet.Range(“A1:G10”).Select17.清除区域eole. ActiveSheet.Range(“A1:G10”).Clear18.合并单元格eole.ActiveSheet.Range(“A1:B2”).Merge19. 设置字体eole.ActiveSheet.Cells(2,1)=”隶书”20. 设置字号eole.ActiveSheet.Cells(2,1).font.size=1621.设置字体颜色eole.ActiveSheet.Cells(1,1).font.ColorIndex=322.字体设为斜体eole.ActiveSheet.Cells(1,1).font.Italic=.T.23.文字带下划线eole. ActiveSheet.Range(“A2:A2”).font.underline=.T.24.整列字体为粗体eole.ActiveSheet.Columns(2).font.bold=.T.25.设置单元格背景色eole. ActiveSheet.Cells(3,4).Interior.ColorIndex = 46 26.调整列宽eole.Range(“A1:H1”).ColumnWidth=12.527.调整指定列宽度eole.ActiveSheet.Column(2).ColumnWidth=2028.单元格文字居中eole.Cells(1,8).HorizontalAlignment=329.插行eole.ActiveSheet.Rows(1).Insert30.删行eole.ActiveSheet.Rows[8].Delete31.插列eole.ActiveSheet.Columns(2).Insert32.删列eole.Columns("D:D").Selecteole.Selection.Delete(-4159)33.删除指定工作表指定列eole.WorkSheets(“Sheet1”).Row(3).Delete34.调整行高eole.ActiveSheet.Rows(5).RowHeight=4035.块拷贝eole.Range(“A1:J3”).Selecteole.Selection.Copy或:eole.ActiveSheet.Range(“A1:E2”).Copy36.块粘贴eole.Range(“A1:A1”).Selecteole.ActiveSheet.Paste37.拷贝整个工作表ed.Range.Copy / eole.Cells.Copy 38.在指定工作表指定单元格粘贴eole.WorkSheets(“Sheet2”).Range(“A1”).PasteSpecial 39.单元格设置公式eole.Range(“A1”).Fornula=”=10*Rand()”40.清除单元格公式eole.ActiveSheet.Cells(1,4).ClearContents41.插入新工作表eole.Sheets.Add42.删除某个工作表eole.Sheets(“Sheet2”).Selecteole.ActiveWindow.SelectSheets.Delete43.返回当前工作簿工作表的总数eole.WorkSheets.Count44.返回Sheet1工作表的表名eole.WorkSheets(1).Name45.工作表更名eole.Sheets(2).Name=”损益表”46. 设置表格四个边框线条的类型eole.ActiveSheet.Range(“B3:D3”).Borders(2).Linestyl e=1 其中:borders参数:1-左 2-右 3-顶 4-底 5-斜/ 6-反斜\Linestyle参数:1和7-细实线;2-细虚线;4-点虚线;9:双细实线47. 设置表格边框线粗细eole.ActiveSheet.Range(“B3:D3”).Borders(2).Weight=348.在指定行插入分页符eole.WorkSheets(“Sheet1”).Rows(10).PageBreak=149.在指定列之前删除分页符eole.ActiveSheet.Columns(4).PageBreak=050.打印预览工作表eole.ActiveSheet.PrintPreview51.打印输出eole.ActiveSheet.Printout52.报表打印方向eole.ActiveSheet.PageSetup.Orientation=1 (1:垂直打印2:水平打印)53.设置页面纸张尺寸eole.ActiveSheet.PageSetup.PaperSize=954.打印单元格网线eole.ActiveSheet.PageSetup.PrintGridLines=.T.55.报表水平居中eole.ActiveSheet.PageSetup.CenterHorizontally=.T.56.报表垂直居中eole.ActiveSheet.PageSetup. CenterVertically=.T.57.设置报表页眉eole.ActiveSheet.PageSetup.CenterHeader=”报表1”58.设置报表页脚eole.ActiveSheet.PageSetup.CenterFoo ter=”第6页”59.设置报表左边距eole.ActiveSheet.PageSetup.LeftMargin=2/0.035 (2厘米)60.设置报表右边距eole.ActiveSheet.PageSetup.RightMargin=2/0.03561.设置报表顶边距eole.ActiveSheet.PageSetup.T opMargin=2/0.03562.设置报表底边距eole.ActiveSheet.PageSetup.BottomMargin=2/0.035关于VFP调用Excel 编程最后再罗嗦几句。

VFP控制EXCEL的方法(终于找到了)

VFP控制EXCEL的方法(终于找到了)

VFP控制EXCEL的方法(终于找到了)VFP控制EXCEL的常用方法oExl=CREATEOBJECT('Excel.application') oExl.Visible=.T.oExl.DefaultSaveFormat=39 oExl.SheetsInNewWorkbook=1oExl.Workbooks.Open(cXLS)oExl.WindowState=-4140 &&窗口最小化 oExl.WindowState=-4143 &&窗口正常化oExl.WindowState=-4147 &&窗口最大化 *------------------------------------------------------*&&页面设置oExl.ActiveSheet.PageSetup.PrintTitleRows=\&&打印标题oExl.ActiveSheet.PageSetup.Orientation=2 &&页面方向:1纵向/2横向*oExl.ActiveSheet.PageSetup.PaperSize=11 &&纸张尺寸:9-A4/11-A5oExl.ActiveSheet.PageSetup.TopMargin=0.8/0.035 &&顶边距oExl.ActiveSheet.PageSetup.BottomMargin=0.8/0.035 &&底边距oExl.ActiveSheet.PageSetup.LeftMargin=0 &&左边距oExl.ActiveSheet.PageSetup.RightMargin=0 &&右边距oExl.ActiveSheet.PageSetup.CenterHorizontally=.T. &&页面居中oExl.ActiveSheet.PageSetup.HeaderMargin=0.5/0.035oExl.ActiveSheet.PageSetup.FooterMargin=0.5/0.035oExl.ActiveSheet.PageSetup.LeftHeader=\表格\”9是字号”oExl.ActiveSheet.PageSetup.CenterHeader=\oExl.ActiveSheet.PageSetup.RightHeade r=\oExl.ActiveSheet.PageSetup.LeftFooter=\oExl.ActiveSheet.PageSetup.CenterFooter=\第&P页,共&N页\oExl.ActiveSheet.PageSetup.RightFooter=\制表人:'+代码+' 制表时间:\*------------------------------------------------------* &&整体格式设置oExl.ActiveSheet.Rows.Font.Size=9='宋体'oExl.ActiveSheet.Rows.RowHeight=0.5/0.035oExl.ActiveSheet.Rows.NumberFormatLocal=\红色]-0.00\oExl.ActiveSheet.Rows.VerticalAlignment=2 &&单元格内容垂直居中 *------------------------------------------------------* &&获取最大行号和最大列号 Local nMaxRow,nMaxColnMaxRow=edRange.Rows.CountnMaxCol=edRange.Columns.Count &&表头格式设置oExl.ActiveSheet.Rows(1).Font.Size=16oExl.ActiveSheet.Rows(1).Font.Bold=.T.oExl.ActiveSheet.Rows(1).RowHeight=1/0.035oExl.ActiveSheet.Rows(1).HorizontalAlignment=3oExl.ActiveSheet.Rows(2).HorizontalAlignment=3oExl.ActiveSheet.Rows(3).HorizontalAlignment=3oExl.ActiveSheet.Rows(3).Font.Bold=.T.oExl.ActiveSheet.Range('A1:'+CHR(96+nMaxCol)+'1').MergeoExl.ActiveSheet.Range('A2:'+CHR(96+nMaxCol)+'2').Merge *------------------------------------------------------*&&条件格式隐藏0值edRange.FormatConditions.DeleteedRange.FormatConditions.Add(1,3,'0')edRange.FormatConditions(1).Font.ColorIndex=2&&文字白色*------------------------------------------------------*oExl.ActiveSheet.Range('A1:B1').Interior.ColorIndex=6 *------------------------------------------------------*&&单元格底纹黄色oExl.ActiveSheet.Columns.AutoFit &&自动列宽oExl.ActiveSheet.Range(\ &&边框线*------------------------------------------------------*&&自动筛选IF !oExl.ActiveSheet.AutoFilterMode &&判断是否存在自动筛选oExl.ActiveSheet.Rows(3).Autofilter &&如果不存在自动筛选,则添加自动筛选 ENDIF*------------------------------------------------------* &&冻结窗格oExl.ActiveSheet.Range('D4').Select oExl.ActiveWindow.FreezePanes = .T.*------------------------------------------------------* *------------------------------------------------------*&&分类汇总Local Arry(1),nMaxRow,nMaxCol Arry(1)=5nMaxRow=edRange.Rows.CountnMaxCol=edRange.Columns.CountoExl.ActiveSheet.Range('A3:'+chr(96+nMaxCol)+alltrim(str(nMaxRow))).Subtotal(2 ,-4157,@Arry,.T.,.F.,.T.) &&按第2列分类汇总数组Arry保存的列 *------------------------------------------------------*1、对象的创建与关闭*******************************oExl=CREATEOBJECT('Excel.application') &&创建Excel对象oExl.SheetsInNewWorkbook=1 &&新建工作簿默认包含工作表个数oExl.Workbooks.Add &&新建工作簿,工作表个数由SheetsInNewWorkBooks属性指定oExl.Workbooks.Open(cXLS,3,.T.) &&打开指定工作簿(更新链接/只读打开)oExl.Workbooks.Open(cXLS, [UpdateLinks], [ReadOnly], [Format], [Password], [WriteResPassword], [IgnoreReadOnlyRecommended], [Origin], [Delimiter], [Editable], [Notify], [Converter], [AddToMru], [Local], [CorruptLoad])oExl.Worksheets(cSheet).Activate &&激活工作表Sheet3oExl.Worksheets(3).Activate &&激活(从左到右)第3个工作表oExl.WorkSheets.Count &&工作簿中工作表数 oExl.DefaultSaveFormat=39 &&默认格式Excel 5.0 oExl.DisplayAlerts=.F. &&不显示警告信息oExl.Visible=.T. &&显示Excel窗口 oExl.Visible=.F. &&不显示Excel窗口 oExl.Caption=\标题栏\ &&更改Excel标题栏oExl.WorkSheet(\ &&粘贴oExl.Quit &&退出Excel oExl.DisplayRecentFiles=.T.&&是否显示最近打开文档 oExl.RecentFiles.Maximum=4 &&历史最大纪录数erName=\ &&用户名 oExl.StandardFont=\宋体\ &&标准字体oExl.StandardFontSize=\ &&标准字体大小 oExl.DefaultFilePath=\ &&默认工作目录 oExl.EnableSound=False &&声音反馈 oExl.RollZoom=False &&智能鼠标缩放 oExl.TransitionMenuKey=\ &&Microsoft Office Excel菜单键oExl.ActiveWorkbook.Password=\oExl.ActiveWorkbook.WritePassword=\oExl.ActiveWorkbook.ReadOnlyRecommended=FalseoExl.ActiveWorkbook.SetPasswordEncryptionOptionsPasswordEncryptionProvider:=\_ PasswordEncryptionAlgorithm:=\ PasswordEncryptionKeyLength:=40 _ ,PasswordEncryptionFileProperties:=FalseIF oExl.ActiveWorkbook.FileFormat==39 &&格式为Excel 5.0工作簿 ENDIFoExl.ActiveWorkBook.SaveAs(FileName,FileFormat,PassWord,WriteResPassWord,ReadO nlyRecommended,CreateBackup) &&另存为 &&参数说明FileName 字符型,指定文件名 FileFormat 数值型,文件格式 -4143 MicrosoftOffice Excel 11 DBF4 39 Microsoft Excel 5.0/95 43 Microsoft Excel97-Excel2021 & 5.0/95 44 网页Html文件 -4158 文本文件(制表符分隔) PassWord 字符型,只读密码 WriteResPassWord 字符型,写密码ReadOnlyRecommended逻辑型,建议只读 CreateBackup 逻辑型,自动备份例如:oExl.ActiveWorkBook.SaveAs(\oExl.ActiveWorkbook.saved=.T. &&放弃存盘oExl.ActiveWorkbook.Save &&存盘(自动存盘不提问)oExl.Workbooks.close &&关闭工作簿3、单元格的设置*********************************** &&冻结窗格oExl.ActiveSheet.Range('D4').Select oExl.ActiveWindow.FreezePanes = .T.&&条件格式设定oExl.ActiveSheet.Range('A1:H18').FormatConditions.Add(Type,Operator,Formula1,Formula2) Type 类型(1单元格数值,2公式) Operator 操作符(1介于,2不介于,3等于,4不等于,5大于,6小于,7大于等于,8小于等于) Formula1 表达式1 Formula2 表达式2,操作符为1介于或2不介于才有效 &&条件格式例句:数值为0者,文字颜色白色edRange.FormatConditions.DeleteedRange.FormatConditions.Add(1,3,'0')edRange.FormatConditions(1).Font.ColorIndex=2&&文字白色&&编辑edRange.Copy &&拷贝整个工作表oExl.ActiveSheet.Range(\ &&拷贝指定区域 oExl.ActiveSheet.Columns(\ &&删除列 oExl.ActiveSheet.Columns(\ &&删除列oExl.ActiveSheet.Rows(1).Insert &&在第1行之前插入一行oExl.ActiveSheet.Columns(2).Insert &&在第2列之前插入一列oExl.ActiveSheet.Cells(1,2).Value=\ &&给单元格赋值oExl.ActiveSheet.Cells(2,2).Value=\ &&给单元格赋值oExl.ActiveSheet.Cells(1,4).ClearContents &&清除单元格公式oExl.ActiveSheet.Rows(18).PageBreak=1 &&在第18行之前插入分页符oExl.ActiveSheet.Columns(4).PageBreak=0 &&在第4列之前删除分页符oExl.ActiveSheet.Rows(3).AutoFilter &&自动筛选oExl.ActiveSheet.Cells(1,1).Delete(-4159) &&删除单元格 -4159 右边单元格左移-4162 下边单元格上移oExl.Selection.EntireRow.Delete &&所在行整行删除oExl.Selection.EntireColumn.Delete &&所在列整列删除oExl.ActiveSheet.Cells(1,1).Insert(-4142) &&插入单元格 -4142 活动单元格下移-4161 活动单元格右移oExl.ActiveSheet.Selection.EntireRow.Insert &&插入行oExl.ActiveSheet.Selection.EntireColumn.Insert &&插入列&&选择性粘贴oExl.ActiveSheet.Selection.PasteSpecial Paste:=xlPasteValues,Operation:=xlNone, SkipBlanks:=False, Transpose:=False Paste 粘贴数据:8列宽,11公式和数值格式,12数值与数值格式,-4104全部,-4123公式,-4163数值,-4122格式, Operation 运算符:-4142无,2加,3减,4乘,5除 SkipBlanks 跳过空白单元:逻辑型Transpose 转置:逻辑型-------------------------------------------------- &&排序成功例句:oExl.ActiveSheet.Range('A1:'+CHR(96+nMaxCol)+ALLTRIM(STR(nMaxRow))).Sort(oExl. ActiveSheet.Range(CHR(96+ASCAN(Arry,'原币金额'))+'2'),2,,,,,,1) &&按\原币金额\所在列降序排列,有标题oExl.ActiveSheet.Rows('1:28').Sort Key1:=Range(\ Key2:=Range(\Key3:=Range(\ Header:=xlYes, OrderCustom:=6, MatchCase:=True, Orientation:=xlTopToBottom, SortMethod:=xlStroke,DataOption1:=xlSortNormal, DataOption2:=xlSortNormal,感谢您的阅读,祝您生活愉快。

vfp调用word OR excel

vfp调用word OR excel

vfp调用word OR excel(一)1.VFP全面控制EXCLVFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工作。

比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。

这就需要我们在VFP中直接来控制Excel。

下面就在开发VFP应用项目时对Excel的控制作一下介绍:1.创建Excel对象eole=CREATEOBJECT(′Excel.application′)2.添加新工作簿eole.Workbooks.add3.设置第3个工作表为激活工作表eole.Worksheets(″sheet3″).Activate4.打开指定工作簿eole.Workbooks.Open(″c:templl.xls″)5.显示Excel窗口eole.visible=.t.6.更改Excel标题栏eole.Caption=″VFP应用程序调用Microsoft Excel″7.给单元格赋值eole.cells(1,4).value=XM(XM为数据库字段名)8.设置指定列的宽度(单位:字符个数)eole.ActiveSheet.Columns(1).ColumnWidth=59.设置指定行的高度(单位:磅)eole.ActiveSheet.Rows(1).RowHeight=1/0.035(设定行高为1厘米,1磅=0.035厘米)10.在第18行之前插入分页符eole.Worksheets(″Sheet1″).Rows(18).PageBreak=111.在第4列之前删除分页符eole.ActiveSheet.Columns(4).PageBreak=012.指定边框线宽度(Borders参数如下)ole.ActiveSheet.Range(″b3:d3″).Borders(2).Weight=313.设置四个边框线条的类型eole.ActiveSheet.Range(″b3:d3″).Borders(2).LineStyle=1(其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细虚、4-点虚、9-双细实线)14.设置页眉eole.ActiveSheet.PageSetup.CenterHeader=″报表1″15.设置页脚eole.ActiveSheet.PageSetup.CenterFooter=″第&P页″16.设置页眉到顶端边距为2厘米eole.ActiveSheet.PageSetup.HeaderMargin=2/0.03517.设置页脚到底边距为3厘米eole.ActiveSheet.PageSetup.FooterMargin=3/0.03518.设置顶边距为2厘米eole.ActiveSheet.PageSetup.TopMargin=2/0.03519.设置底边距为4厘米eole.ActiveSheet.PageSetup.BottomMargin=4/0.03520.设置左边距为2厘米veole.ActiveSheet.PageSetup.LeftMargin=2/0.03521.设置右边距为2厘米eole.ActiveSheet.PageSetup.RightMargin=2/0.03522.设置页面水平居中eole.ActiveSheet.PageSetup.CenterHorizontally=.t.23.设置页面垂直居中eole.ActiveSheet.PageSetup.CenterVertically=.t. 24.设置页面纸张大小(1-窄行8511 39-宽行1411) eole.ActiveSheet.PageSetup.PaperSize=125.打印单元格网线eole.ActiveSheet.PageSetup.PrintGridlines=.t.26.拷贝整个工作表edRange.Copy27.拷贝指定区域eole.ActiveSheet.Range(″A1:E2″).Copy28.粘贴eo le.WorkSheet(″Sheet2″).Range(″A1″).PasteSpecial 29.在第2行之前插入一行eole.ActiveSheet.Rows(2).Insert30.在第2列之前插入一列eole.ActiveSheet.Columns(2).Insert31.设置字体eole.ActiveSheet.Cells(2,1)=″黑体″32.设置字体大小eole.ActiveSheet.Cells(1,1).Font.Size=2533.设置字体为斜体eole.ActiveSheet.Cells(1,1).Font.Italic=.t.34.设置整列字体为粗体eole.ActiveSheet.Columns(1).Font.Bold=.t.35.清除单元格公式eole.ActiveSheet.Cells(1,4).ClearContents36.打印预览工作表eole.ActiveSheet.PrintPreview37.打印输出工作表eole.ActiveSheet.PrintOut38.工作表另为eole.ActiveWorkbo ok.SaveAs(″c:temp22.xls″)39.放弃存盘eole.ActiveWorkbook.saved=.t.40.关闭工作簿eole.Workbooks.close41.退出Exceleole.quit2.VFP数据导出至EXCEL问题这样设计:oexl=createobject("excel.application")oexl.workbooks.addoexl.visible=.t.oexl.workbooks(1).activateoexl.cells(1,1).value="名称1"oexl.cells(1,2).value="名称2"oexl.cells(1,3).value="名称3"3.如何在VFP5.0中利用EXCEL的功能做报表在VFP中调用Excel要利用Automation。

[转载]vfp调用word?OR?excel(二)

[转载]vfp调用word?OR?excel(二)

[转载]vfp调用word?OR?excel(二)vfp调用word OR excel(二)10.从VFP中导出数据的几种方法!答:当VFP处理好数据后,这时你可以用多种方法将这些数据导出,以便被其它应用程序(如Excel等)所用。

下面向你简单介绍几种导出数据的方法:1.用“导出数据”对话框。

你可以从VFP主菜单中选择“文件/导出…”打开“导出”对话框,在该对话框中的“来源”框中输入表名(c:vfpstudents.dbf),在“类型”中指定要导出数据的类型(Microsoft Excel),在“到”框中输入导出的路径和文件名(C:excelaa.xls),然后按“确定”即可。

这时你如果查看command窗口,可发现以下代码:COPY TO C:excelaa.XLS TYPE XL52.用COPY TO命令。

COPY TO命令的工作对象是VFP中的表,它要依据“TYPE”项才知道要产生哪一类导出文件。

对于上面的导出过程,可用以下方法实现:USE studentsCOPY TO C:excelaa.XLS TYPE XL512.在VFP6中,如何调用已经存在的WORD文件?oW = CREATEOBJECT([word.basic])with oW.Apprestore().Appmaximize().fileopen("路径+文件名.扩展名")ENDWITH13.打开word文件的控件?用RUN /N3 C:WORD.EXE 文档路径C:WORD.EXE是我自己写的,你用时换成WORD的真正路径就行了!比如用WORD 打开SD.DOC 就写RUN /N3 C:WORD.EXE C:SD.DOC另:TXLS_EOLE = CREATEOBJECT('word.application')TXLS_EOLE.Documents.Open('文件名.doc')TXLS_EOLE.Visible=.t.注意:别忘了关闭哦TXLS_EOLE.Documents.close &&关闭文档TXLS_EOLE.quit &&关闭wordRELEASE TXLS_EOLE &&释放对象再者:fw=alltrim(this.value)if file('&fw')*documents.open filename('&fw')wrdapp = createobject("word.application")wrdapp.visible=.t.*wrdapp.documents.addwrdapp.documents.open(alltrim(this.value))elsemessagebox(fw+chr(13)+'文件不存在,请确认',0+16,'文件路径出错')RETURN(.F.)ENDIF14.在表单中创建一个编辑框,用来显示WORD文档!做一个按扭,在CLICK中写:THISFORM.EDIT1.value=FILETOSTR(GETFILE('DOC'))这个不也行,而且还简单15.强烈建议:直接使用ole可以在表单中打开word,建议不使用这种办法,改为利用api用windows默认的程序打开word,数据库只存储word文档所在的位置和名字。

VF中控制EXCEL的常用操作

VF中控制EXCEL的常用操作

ef=CREATEOBJECT('Excel.application') &&调用 Excel 程序 ef.Workbooks.add &&添加工作簿 ef.Worksheets("sheet1").Activate &&激活第一个工作表 ef.visible=.t. &&显示 Excel 界面 ef.Cells.Select &&选择整张表 ef.Selection.Font.Size = 10 &&设置整表默认字体大小为 10 select 0 use agcallop &&选择被导出的表 num=reccount() &&求导出总记录数 go top i=5 ef.range("F1:K1").Select &&选择标题栏所在单元格 ef.Selection.Merge &&合并单元格 with ef.range("F1 ") &&设置标题及字体属性 .value='客户服务部业务代表工作量情况统计表' ="黑体" .Font.size=18 endwith ef.Rows(2).RowHeight=1/0.035 &&设置第二行高度为 1cm ef.range("H2:O2").Select &&选定统计条件栏所在单元格 ef.Selection.Merge &&合并单元格 ef.range("H2").Font.size=10 ef.range("H2").HorizontalAlignment=4 &&设置内容对齐方式为右对齐,3 为居中,2 为右对齐 ef.range("H2").value='统计时间:'+dtoc(date())+' 打印日期: '+dtoc(date()) ef.Rows("3:4").Select with ef.Selection .HorizontalAlignment = 3 &&设置 3、4 行为水平对齐

如何在VFP中调用默认关联的程序打开文件

如何在VFP中调用默认关联的程序打开文件

如何在VFP中调用默认关联的程序打开文件?(2007-01-20 17:13:12)转载分类:『数据库-DB』如何在VFP中调用默认关联的程序打开文件?怎样在一个菜单中建立一个程序或命令打开一个网页或word,excel等文件???---------------------------------------------------------------打开一个网页与word,excel是不一样.1.word,excel要用ACTIVEX的OLECONTROL控件.2.打开一个网页要用到HYPERLINK控件.可以在表单上加一个TEXT一个COMMANG控件,还有一个超级链接HYPERLINK控件. COMMAND.CLICK事件:THISFORM.HYPERLINK.NA VIGATETO(THISFORM.TEXT.V ALUE)在vfp的例子中找到了一个这个问题的解决方法,使用api函数来解决,如下:1、声明函数DECLARE INTEGER ShellExecute ;IN SHELL32.DLL ;INTEGER nWinHandle,;STRING cOperation,;STRING cFileName,;STRING cParameters,;STRING cDirectory,;INTEGER nShowWindow2、在程序中任何地方调用,包括菜单中,打开一个e:\a.htm文件的调用方法如下,=ShellExecute(0,"Open","e:\a.htm","","e:\",1)---------------------------------------------------------------在VFP中我们可以用run来调用由VFP自身生成的.exe文件。

命令格式:run c:\..\*.exe当调用非VFP自身生成的.exe文件时,需要加上绝对路径和参数。

Excel表导入VF库方法

Excel表导入VF库方法

Excel转换成DBF文件格式的方法:(仅供参考)第一步:先编辑好要转换的电子表格。

格式为:1、所有字体设置为宋体,字号为10,左对齐。

2、将所有的字段名改为dbf中一致的英文字段名。

3、将文档格式另存为:Microsoft Excel 5.0 /95工作簿。

一、在Excel表(以下说明以此表保存在桌面为例)的首行录制好VF库中每列所需的字段名;二、打开VF如下图:三、单击“文件”——“导入”四、在“导入”框中选择“类型”如下图:(注:如果后面操作时无法导入可能是待导入Excel表格版本与VF需导入的Excel 版本不一致的缘故,可打开待导入的Excel表格将其另存为版本为Excel5.0表格,导入时选择另存的Excel5.0表格)五、单击“来源于”方框后的图标选择欲导入的Excel表格:六、选择好后点击“导入”框中的导入向导呈现如下图:七、在文件类型框中选择Excel5.0八、在点击“源文件”方框后的得到如下图:九、选择好待导入的Excel表格后点击呈现如下图:十、在点击指明新建表存放路径,同时设置新建表的文件名十一、点击后呈现如下图:十二、点击后呈现如下图:十三、点击后呈现如下图:十四、设置字段名所在行为“1”,导入起始行为“2”(因为VF库中的第一行数据在Excel表格中的第二行),如下图:十五、点击后呈现如下图:十六、接下来有几种可选操作:1. ⑴此时可在此设置字段名、类型及宽度,设置好后点击设置日期格式等,如下图:⑵日期等格式设置好后点击⑶点击即可结束导入程序。

2. ⑴(选择此种操作方式后需在新建的VF库中的表设计器中去设置字段名、类型及宽度等)点击呈现如下图:⑵点击结束导入程序。

附:一、出生日期(DBF库中要求出生日期为日期型)导入前处理办法1.新建一列空白列,将其设置成文本格式;2.将含有出生日期的那列数据复制粘贴至记事本中;3.把记事本中的数据复制到新建的文本格式的空白列中(此列数据就可导入DBF库了)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档