VFP全面控制EXCEL完全_第1页
VFP全面控制EXCEL完全_第2页
VFP全面控制EXCEL完全_第3页
VFP全面控制EXCEL完全_第4页
VFP全面控制EXCEL完全_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1创建Excel对象oExcel=Createobject("Excel.application") 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.cells(1,4).Valu

2、e=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

3、).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设置页眉oEx

4、cel.ActiveSheet.PageSetup.CenterHeader="报表1"15设置页眉(字体大小)oExcel.ActiveSheet.PageSetup.CenterHeader="&50报表1" &&'&'后面的50可以自定义,表示字体的大小16设置页脚oExcel.ActiveSheet.PageSetup.CenterFooter="第&P页" 17.设置页脚(字体大小)oExcel.ActiveSheet.PageSetup.CenterFoot

5、er="&28第&P页" &&'&'后面的28可以自定义,表示字体的大小18设置页眉到顶端边距为2厘米oExcel.ActiveSheet.PageSetup.HeaderMargin=2/0.035.FooterMargin=3/0.03520设置顶边距为2厘米oExcel.ActiveSheet.PageSetup.TopMargin=2/0.03521设置底边距为4厘米oExcel.ActiveSheet.PageSetup.BottomMargin=4/0.03522设置左边距为2厘米oExcel.Active

6、Sheet.PageSetup.LeftMargin=2/0.035gin=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=1up.PrintGridlines=.T.29拷贝指定区域oExcel.ActiveSheet.Range("A1

7、:E2").Copy30粘贴oExcel.WorkSheet("Sheet2").Range("A1").PasteSpecial31在第2行之前插入一行oExcel.ActiveSheet.Rows(2).Insertolumns(2).Insert33设置字体oExcel.ActiveSheet.Cells(2,1).Font.Name="黑体"34设置字体大小oExcel.ActiveSheet.Cells(1,1).Font.Size=2535设置字体为斜体oExcel.ActiveSheet.Cells(1,1).

8、Font.Italic=.T.36设置整列字体为粗体oExcel.ActiveSheet.Columns(1).Font.Bold=.T.37清除单元格公式oExcel.ActiveSheet.Cells(1,4).ClearContents40 oExcel.CommandBars(1).Controls(1).accChild(18).Execute &&打印(菜单序号18为Excel2003的打印项)&&不同版本Excel的菜单序号可以通过以下程序取得*(需要在VFP7.0以上运行)oXls=Getobject("","exc

9、el.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:'+xlapp.CommandBars(i).Name+' INDEX:'+Alltrim(Str(xlapp.CommandB

10、ars(i).Index)+')'    bars2=mandbars(i).accChildCount    For j=1 To bars2        Try            obj=mandbars(i).Controls(j)        &#

11、160;   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    

12、            Try                    If Not Empty(obj.Controls(k).accname )             

13、;           Str1=Str1+Chr(13)+' '+Alltrim(Str(k)+'、'+obj.Controls(k).accName+' (ID:'+ Alltrim(Str(obj.Controls(k).Id)+')'                &

14、#160;   Endif                Catch                    Exit          &#

15、160;     Endtry            Endfor        Catch            Exit        Endtry    Endfo

16、r    Wait 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:temp22.xls")*检测当前目录是否有同名的EXCEL表,如果有先删除,再另存If !File

17、(Sys(5) + Curdir() + "result.xls")    oExcel.ActiveWorkbook.SaveAs(Sys(5) + Curdir() + "result.xls")Else    lcFileName = loExcel.GetSaveAsFilename("result", "Excel (*.xls), *.xls")    If !Empty(lcFileName) 

18、0;      If File(lcFileName)            Delete File (lcFileName)        Endif        oExcel.ActiveWorkbook.SaveAs(lcFileName)    EndifEn

19、dif42放弃存盘 && 避免出现保存对话框 oExcel.ActiveWorkbook.saved=.T. 44关闭工作簿oExcel.Workbooks.Closeobjexcel.activeworkbook.Close(.F.)45退出ExceloExcel.QuitRelease oExcel &&只有释放对象变量, EXCEL进程才会完全关闭46合并单元格oExcel.ActiveSheet.Range("A4:B5").MergeCells=.T.47下列设置大家自己理解With crfole.ActiveSheet.

20、PageSetup    .LeftHeader = Chr(13)+"左页眉"    .CenterHeader = "中页眉"    .RightHeader = "右页眉"    .LeftFooter = "左页脚"    .CenterFooter = "中页脚"    .RightFooter = &quo

21、t;右页脚"    .Orientation=1 &&1竖排,2横排EndwithWith crfole.Range("A4:C4")    .MergeCells = .T.    .WrapText =.F.    .Orientation = 0    .AddIndent =.F.    .ShrinkToFit = .F.Endwith 48文本对齐o

22、Excel.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 &&选择

23、第一工作表oExcel.ActiveSheet.Paste &&粘贴oExcel.ActiveSheet.Cells(3,4).Value && ActiveSheet 为当前的Sheet工作薄名字,Cells(3,4).value 为第3行第4列的值*以上控制调用语句在中文VFP5.0企业版下运行通过,运行环境为Excel 97及中文Windows 9850显示某个单元格的批注内容oExcel=Createobject("Excel.application")oExcel.Workbooks.Open("d:TESTtesta.x

24、ls")oExcel.Visible=.T.?oExcel.Range("B5").Comment.Text &&显示B5单元格的批注内容oExcel.Workbooks.CloseoExcel.QuitRelease oExcel51oExcel.ActiveSheet.PageSetup.PrintTitleRows="$1:$1" &&每页都打印行标头(每页顶部出现的单元格的行)52保护工作表:oExcel.ActiveSheet.Protect('密码',.T.,.T.,.T.,.T.,.

25、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

26、.oExcel.DisplayAlerts = .F.如果不想在宏运行时被无穷无尽的提示和警告消息所困扰,就将本属性设置为 False;这样每次出现需用户应答的消息时,Microsoft Excel 将选择默认应答。如果将本属性设置为 False,那么宏运行结束后, Microsoft Excel 并不自动将其设置回 True。故当宏运行结束后,都应将本属性设置回 True 值。 56将当前工作表中的已用区域(只读)存入数组。strPath='D:TEST123.xls'Local oExceloExcel=Createobject("Excel.Appli

27、cation")oExcel.WorkBooks.Open(strPath)arrTableInfo=oExcel.ActiveSheet.UsedRange.Value &&将当前工作表中的已用区域(只读)存入数组。oExcel.QuitRelease oExcelInsert Into 表名 From arrTableInfo 57设置excel批注的字体(excel 2000实现了,如下:)ole.Range("a3").Comment.Shape.Select && 此命令要求批注的 Visible=.T.ole.

28、Selection.Font.Size=9ole.Selection.Font.Name="黑体"ole.Selection.Font.bold=.F.注:该组命令要求先选中批注框,否则写成 ole.Range("a3").Comment.Shape.Font.Size=9 则出错,不知为何!58如何取得当前EXCEL表中工作表的数目及各工作表的名称?ClearLocal lnSheetCountoExcel=Createobject("EXCEL.APPLICATION") &&创建Excel对象oExcel.WOR

29、KBOOKS.Open("c:111321.xls") &&打开指定工作簿With oExcel    lnSheetCount=.WorkBooks(1).Sheets.Count &&统计工作表数量Endwith?'当前EXCEL表中工作表的数目为:'+Alltrim(Str(lnSheetCount)For Each oMyVar In oExcel.sheets    ?'当前EXCEL表中工作表的名称分别为'+oMyVar.Name &

30、;&显示Excel表中所有工作表Next oMyVaroExcel.WORKBOOKS.Close &&关闭工作簿oExcel.Quit &&退出Excel59获取工作表名称在以下示例中,创建了一个 microsoft excel 实例,添加了一个新的工作簿。使用 foreach 语句显示工作簿中每个工作表的名称。此示例要求在运行示例的机器上正确安装 microsoft excel。oExcel = Create("Excel.Application")oExcel.Workbooks.AddFor Each oMyVar In oE

31、xcel.sheets    ? oMyVar.NameNext oMyVar 60虽然用APPEND From tx.Xls Type XL8可以更简单的追加数据,但有时会导致程序非法错误退出(除非先另存为Excel 5.0) 61VFP控制EXCL文件另存为DBF(EXCEL后台运行)fil=Thisform.List1.Value &&其值为一个包含路径的文件名oExcel=Createobject('Excel.application')oExcel.Workbooks.Open(fil) &&a

32、mp;打开文件oExcel.Selection.AutoFilter &&关闭(如果无则打开)自动筛选oExcel.Range("A1:F1000").Select &&选中从第1行到1000行的前6列数据(另存后只有这些数据)asfil=Strtran(Upper(Strtran(fil,Substr(fil,1,Rat('',fil),'c:windowsdesktopcphz'),'.XLS','.dbf') &&要保存的文件名If File(asfil)&

33、#160;   Delete File &asfilEndifoExcel.ActiveWorkbook.SaveAs(asfil,8) &&另存为DBFoExcel.ActiveWorkbook.saved=.T. &&不保存当前EXCEL表oExcel.Workbooks.Close &&关闭表oExcel.Quit &&退出EXCELRelease oExcel &&释放变量*VFP中例子*lcFileName='D:TEST.XLS'oExcel=Createob

34、ject('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 = ""

35、; &&把被选定的单元格设为文本格式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. &&不

36、保存当前EXCEL表oExcel.Workbooks.Close &&关闭表oExcel.Quit &&退出EXCELRelease oExcel &&释放变量Messagebox('Excel文件:D:TEST.XLS 另存为 D:TEST.DBF 完成!',64,'信息提示')*VB例子*'功能:VB调用Excel,将一个Excel文件另存为Dbf。''前提:要安装Excel'Dim oExcel As ObjectlcSFileName = "D:test.xls&q

37、uot; '源Excel文件名lcDFileName = "D:test1.dbf" '目标Dbf文件名Set oExcel = Createobject("Excel.Application") '创建Excel对象oExcel.Workbooks.Open (lcSFileName) '打开Excel表*R = oExcel.SHEETS(1).UsedRange.ROWS.Count '有数据的总行数*C = oExcel.SHEETS(1).UsedRange.Columns.Count '有数据的

38、总列数*oExcel.Cells(R, C).Select '选中数据*oExcel.Columns.AutoFit '让所有的列宽都自动调整oExcel.DisplayAlerts = Flase '不显示提示框oExcel.ActiveWorkbook.SaveAs FileName:=lcDFileName, FileFormat:=8oExcel.ActiveWorkbook.saved = Ture '不保存当前EXCEL表oExcel.Workbooks.Close '关闭表oExcel.Quit '退出EXCELSet oExcel

39、 = Nothing '释放对象MsgBox ("Excel文件: " & lcSFileName & " 另存为 " & lcDFileName & " 完成!") 62VFP用ADO连接Excel,然后将Excel内容导出DBF的方法*-以下代码是将123.XLS中的SHEET5中的内容转换成RR.DBFoConnection = Createobject("adodb.connection") &&建立连接对象With oConnection&

40、#160;   .ConnectionString = 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:temp123.xls;Extended Properties="excel 8.0;HDR=YES;IMEX=1;"Persist Security Info=False'    .OpenEndwithoConnection.EXECUTE('select * into dBase III;DataBase=d:temp.rr from sheet

41、5$')oConnection.Close 63设置打印参数:用Excel做报表,可打印时怎么选择打印机,即.ActiveWindow.SelectedSheets.PrintOut的参数有哪些? Expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName)Expression 必选。该表达式返回“应用于”列表中的某个对象。From Variant 类型,可选。打印的开始页号。如果省略该参数,将从起始位置开始打印。To Variant 类型,可

42、选。打印的终止页号。如果省略该参数,将打印至最后一页。Copies Variant 类型,可选。要打印的份数。如果省略该参数,将只打印一份。Preview Variant 类型,可选。如果为 True 则 Microsoft Excel 打印指定对象之前进行打印预览。如果为 False,或者省略此参数则立即打印该对象。ActivePrinter Variant 类型,可选。 设置活动打印机的名称。PrintToFile Variant 类型,可选。如果为 True 则打印输出到文件。如果没有指定 PrToFileName,则 Microsoft Excel 将提示用户输入要输出文件的文件名。C

43、ollate Variant 类型,可选。如果为 True 则逐份打印每份副本。PrToFileName 可选,Variant 类型。如果将 PrintToFile 设置为 True,则本参数指定要打印到的文件名。说明From 参数和 To 参数所描述的“页”指的是要打印的页,并非指定工作表或工作簿中的全部页。 64如何用编程的方法打开有密码的Excel文件?*Excel文件加了密码,如何在VFP中用编程的方式把密码输入,使Excel文件打开oExcel=Createobject('Excel.application')oExcel.Workbooks.Open(&q

44、uot;d:22.xls")这样还有一个密码的对话框出来,需要输入密码才能打开文件。 65如何用编程的方法直接打开有密码的Excel文件?oEle.Workbooks.Open("d:22.xls",.F.,.F., ,"123","456")"123"表示打开权限的密码,"456"表示修改权限的密码. 66如何将一个已知路径的图片插入到excel中.oexcel1.ActiveSheet.PictureS.Insert("图片文件名")

45、0;67能不能指定在某一位置或区域放置图片并控制图片显示大小呢?OLEAPP.SHEETS(1).Selectoleapp.Range("位置").Selectoleapp.ActiveSheet.PictureS.Insert("图片文件名").Selectoleapp.Selection.ShapeRange.LockAspectRatio =.T.oleapp.Selection.ShapeRange.Height = 57 68类型为字符型的字段输出到excel 中,前面的零被自动去掉,例如“009877”变为“9877”,怎么解决?

46、1.在字符串前面加半角单引号“ ' ”, 例如: o.Cells(1,1).Value="'0123" 或用变量 cString="'"+"0123" &&其中0123可以取自表中一个字段 o.Cells(1,1).Value=cString &&o.Range("A1:A1").value=cString 2. oExcel.CELLS(1,1).Select &&或eole.Range("A1:E1").Select o

47、Excel.Selection.NumberFormatLocal = "" &&把被选定的单元格设为文本格式 oExcel.Cells(1,1).Value="0123" &&给所选单元格覆值69在 Excel 中插入行和列 :objExcel.Rows(1).Insert() &&在第一行前面插入一行objExcel.Columns(2).Insert() &&在第二列前面插入一列70获取 Excel 记录数loXls = Createobject("excel.applica

48、tion")bookExcel = loXls.Application.Workbooks.Open("f:pz.xls")nrows=bookExcel.Worksheets('pz')UsedRange =nrows.UsedRanger=UsedRange.Rows.Count &&有数据的总行数c=UsedRange.Columns.Count &&有数据的总列数loXls.Workbooks.CloseloXls.Quit71在EXCEL中如何在打开文件的同时自动执行一个宏命令。只要将宏的命名为 AUTO_

49、OPEN 即可。如果要在文件关闭时运行,则命名为auto_close 。72在VFP中可以执行EXCEL的选择性粘贴吗?.Range("A2").PasteSpecial ("xlPasteValues") && 会出错.Range("A2").PasteSpecial (3) && 也会出错.Range("A2").PasteSpecial && 只好这样了 73如何才能只粘贴值呢?xlPasteValues=-4163oExcel.Range("

50、;A1").SelectoExcel.Selection.CopyoExcel.Range("B1")._PasteSpecial(xlPasteValues)*注意:在Excel 中,"xlPasteValues"是一个常量,它的值是一个数值型的:-4163oExcel.Range("A1").CopyoExcel.Range("B3").PasteSpecial(8) &&粘贴行、列宽oExcel.Range("B3").PasteSpecial(-4122) &a

51、mp;&粘贴格式74如何从excel读取数据*建立一个excel对象*Local hb1 As excel.Applicationcsheetname=Trim(Thisform.text2.Value)&&读取用户要读取excel的sheet名*读取数据源所在的EXCEL文件名*If Empty(Trim(Thisformset.filepath)    Messagebox("请先选择要导入的excel文件!",0,"提示")    ReturnEndifIf Emp

52、ty(Trim(csheetname)    Messagebox("请先选择要导入的工作表sheet名称!",0,"提示")    ReturnEndifTry    hb1=Createobject("excel.application")Catch    Messagebox("请检查你是否已安装microsoft excel应用程序!",0,"提示")Endtry*打开

53、EXCEL对象,开始读取数据*HB1.workbooks.Open(Trim(Thisformset.filepath)hb1.Sheets(csheetname).SelectSele Store&&这是要读取的数据存放的表Zapisend=.F. &&用于判断是否记录已到底i=1Do While isend=.F.    Append Blank    crq=Dtoc(drq)    cdh=hb1.Cells(i,1).Value   

54、 If Isnull(cdh)        cdh=""    Endif    *用于判断数据类型,数据类型一定要判断是否为NULL,*    * 然后如果不是指定的类型,还要进行转换*    If Type("cdh")<>'C'        cdh=Alltri

55、m(Str(cdh)    Endif    cdwmc=Trim(hb1.Cells(i,2).Value)    If Isnull(cdwmc)        cdwmc=""    Endif    cgg=hb1.Cells(i,3).Value    If Isnull(cgg)   &

56、#160;    cgg=""    Else        If Type("cgg")<>'C'            cgg=Alltrim(Str(cgg)        Endif  

57、0; Endif    cjldw=hb1.Cells(i,4).Value    If Isnull(cjldw)        cjldw=""    Endif    cjldw=Iif(Type("jldw")<>"C",Alltrim(Str(cjldw),Alltrim(cjldw)    ns

58、l=hb1.Cells(i,5).Value    If Isnull(nsl)        nsl=0    Endif    cch=Trim(hb1.Cells(i,6).Value)    If Isnull(cch)        cch=''    Endif 

59、0;  cxh=hb1.Cells(i,8).Value    If Isnull(cxh)        cxh=""    Else        If Type("cxh")<>'C'           

60、 cxh=Trim(Str(cxh)        Else            cxh=Trim(cxh)        Endif    Endif    ccpmc=hb1.Cells(i,9).Value    If Isnull(ccpmc)

61、60;       ccpmc=''    Endif    If Type("ccpmc")<>'C'        ccpmc=Alltrim(Str(ccpmc)    Else        ccpmc=Trim(ccpmc) 

62、   Endif    Select Store    Replace rq With crq,dh With cdh,dwmc With cdwmc,gg With cgg,jldw With cjldw,sl With nsl,ch With cch,cpbh With cxh,cpmc With ccpmc    i=i+1    &&如果一行全为空,记作记录到底,如果中间存在多行的问题,我没有做考虑*  

63、0; If Empty(cxh) And nsl=0 And Empty(cch) And Empty(cjldw) And Empty(cdh) And Empty(cgg)        isend=.T.    EndifEnddoDele &&最后一行为空行,删除Wait "共转换得到"+Alltrim(Str(Reccount()+"条记录!" Window Timeout 2hb1.Quit75本程序通过将原dbf表拷成exce

64、l格式,然后导入并设置报表格式Para tablenameLocal hb1 As excel.ApplicationWait "正在导出数据,请稍侯" Window At 20,30 Timeout 1bhaveerror=.F. &&定义一个变量判断是否发生错误Try    hb1=Createobject("excel.application")Catch    Messagebox("请检查你是否已安装microsoft excel应用程序!",0,&

65、quot;提示")    bhaveerror=.T.EndtryIf bhaveerror=.T.    ReturnEndifIf Right(curr_path,1)<>''    curr_path=curr_path+""Endifctablename=tablename+"_excel"filepath=curr_path+"tempsheet1.xls"*filepath="temps

66、heet1.xls"If !File(filepath)    Messagebox("数据源的excel文件未生成,报表生成被终止!")    ReturnEndifHB1.workbooks.Open(filepath)HB1.SHEETS("sheet1").Selecthb1.sheets(1).Rows(1).entirerow.Inserthb1.sheets(1).Rows(1).entirerow.InsertSele (ctablename)nfieldcount=F

67、count()nreccount=Reccount()hbdygs="A1:"+Chr(nfieldcount+64)+"2"HB1.Range(hbdygs).Select*合并两行作为报表标题*HB1.Selection.HorizontalAlignment = 3 &&水平方向 2左对齐,3居中,4右对齐HB1.Selection.VerticalAlignment = 2 &&垂直方向 1靠上,2居中,3靠下HB1.Selection.WrapText = .F. && ?HB1.Selectio

68、n.Orientation = 0 && ?HB1.Selection.AddIndent = .F. && ?HB1.Selection.ShrinkToFit = .F. && ?HB1.Selection.MergeCells = .T. && ?HB1.Range(hbdygs).FormulaR1C1 = "请输入报表标题"HB1.Range(hbdygs).Characters.Font.Name = "隶书"HB1.Range(hbdygs).Characters.Font.F

69、ontStyle = "常规"HB1.Range(hbdygs).Characters.Font.ColorIndex = 1 &&字符颜色*根据数据源表结构的宽度设置列的宽度*Copy Stru Exte To tempterm_struSele 0Use tempterm_struSelect (ctablename)For i=1 To nfieldcount    cvalue=Allt(Field(i)    Select term_stru    Loca

70、For Lower(Allt(field_name)=cvalue    If Found()        columnname=Chr(i+64)+":"+Chr(i+64)        hb1.Columns(columnname).ColumnWidth=field_len    Endif    Sele (ctablename)End

71、forSele term_struUseactivecellname=Chr(nfieldcount+64)+Allt(Str(nreccount+3)*设置数据区域的字体格式*HB1.Range("A3:"+activecellname).Characters.Font.Name = "宋体"HB1.Range("A3:"+activecellname).Characters.Font.Size= 9HB1.Range("A3:"+activecellname).Selecthb1.Selection.Borde

72、rS(1).LineStyle = .T.hb1.Selection.BorderS(2).linestyle = .T.hb1.Selection.BorderS(3).linestyle = .T.hb1.Selection.BorderS(4).linestyle = .T.hb1.ActiveWorkbook.SaveAs("c:aa.xls")hb1.Application.Visible=.T.* HB1.ACTIVEWORKBOOK.SAVE &&自动保存数据* HB1.ACTIVEWORKBOOK.CLOSE &&关闭当前工作

73、簿* HB1.QUIT76如何修改sheet工作表名:EFILENAME='D:TESTTEMPA.XLS'oExcel=Createobject("Excel.application")oExcel.Workbooks.Open("&EFILENAME")oExcel.Visible=.T.oExcel.Worksheets("Sheet2").SelectoExcel.Worksheets("Sheet2").Name='NewSheet' &&这里的Ne

74、wSheet为新的名字。77复制Sheet工作表EFILENAME='D:你的Excel表名.XLS'oExcel=Createobject("Excel.application")oExcel.Workbooks.Open("&EFILENAME")oExcel.Visible=.T.oExcel.SHEETS(1).SelectoExcel.SHEETS(1).Copy(Null,oExcel.SHEETS(1) &&&&把第1个工作表复制到第1个工作表之后oExcel.SHEETS(2).Name='NewSheetName' &&设置第2个工作表名称*!*oExcel.SHEETS(1).COPY(oExcel.SHEETS(1),NULL) &&&&把第1个工作表复制到第1个工作表之前*!*oExcel.SHEETS(1).NAME='NewSheetName' &&设置第1个工作表名称78如何将DBF中内容COPY到EXCEL的指定区域 例如我有一个DBF:Name_F Sl_fMike 546kyle 200想将这个内容转到EXCEL里面的E1:F2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论