|
*!*VFP和Excel都可以用來進(jìn)行處理數(shù)據(jù)庫表格,如果巧妙地將二者的優(yōu)點(diǎn)結(jié)合起來,將會大大方便我們的工作。比如我們可以利用VFP進(jìn)行處理數(shù)據(jù),而利用Excel的預(yù)覽打印功能進(jìn)行報(bào)表打印。這就需要我們在VFP中直接來控制Excel。下面就在開發(fā)VFP應(yīng)用項(xiàng)目時(shí)對Excel的控制作一下介紹: oExcel=Createobject("Excel.application") &&創(chuàng)建Excel對象 **對象屬性 oExcel.Visible=.T. &&顯示Excel窗口 oExcel.Caption="VFP應(yīng)用程序調(diào)用Microsoft Excel" &&更改Excel標(biāo)題欄 oExcel.DisplayAlerts = .F. &&關(guān)閉提示和警告消息,運(yùn)行結(jié)束后,應(yīng)將本屬性設(shè)置回 True 值 oExcel.cells(1,4).Value=XM(XM為數(shù)據(jù)庫字段名) &&給單元格賦值 **Workbooks屬性 oExcel.Workbooks.Add &&添加新工作簿 oExcel.Workbooks.Open("c:\temp\ll.xls") &&打開指定工作簿 oExcel.Workbooks.Close &&關(guān)閉工作簿 oExcel.Quit &&退出Excel Release oExcel &&只有釋放對象變量, EXCEL進(jìn)程才會完全關(guān)閉 **Worksheets屬性 oExcel.Worksheets("sheet3").Activate &&設(shè)置第3個(gè)工作表為激活工作表 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. &&放棄存盤,避免出現(xiàn)保存對話框 oExcel.ActiveWorkbook.Save &&存盤 oExcel.ActiveWorkbook.Close(.F.) &&關(guān)閉工作簿 oExcel.ActiveWorkbook.Protect('密碼',.T.,.T.) &&保護(hù)工作薄(第一個(gè).T.:保護(hù)工作簿結(jié)構(gòu),第二個(gè).T.:保護(hù)工作簿窗口) **ActiveSheet屬性 oExcel.ActiveSheet.UsedRange.Copy &&拷貝整個(gè)工作表 oExcel.ActiveSheet.PrintPreview &&打印預(yù)覽工作表 oExcel.ActiveSheet.PrintOut &&打印輸出工作表 oExcel.ActiveSheet.Protect('密碼',.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.,.T.) &&保護(hù)工作表 oExcel.ActiveSheet.Protection.AllowEditRanges.Add("區(qū)域3",oExcel.ActiveSheet.Range("A2:D5")) &&設(shè)置允許用戶編輯區(qū)域 **表格列屬性 oExcel.ActiveSheet.Columns(2).Insert &&在第2列之前插入一列 oExcel.ActiveSheet.Columns(1).ColumnWidth=5 &&設(shè)置指定列的寬度(單位:字符個(gè)數(shù)) oExcel.ActiveSheet.Columns(4).PageBreak=0 &&在第4列之前刪除分頁符 oExcel.ActiveSheet.Columns(1).Font.Bold=.T. &&設(shè)置整列字體為粗體 **表格行屬性 oExcel.ActiveSheet.Rows(2).Insert &&在第2行之前插入一行 oExcel.ActiveSheet.Rows(1).RowHeight=1 &&設(shè)置指定行的高度(單位:磅)(設(shè)定行高為 1磅 , 1磅 =0.035厘米) oExcel.ActiveSheet.Rows("50:100").RowHeight=1 &&設(shè)置第50行至100行的高度 **表格范圍屬性 oExcel.Range("A4:c4").HorizontalAlignment =1 &&水平(1-默認(rèn)、2-靠左、3-居中、4-靠右、5-填充、6=兩端對齊、7=跨列居中、8=分散對齊) oExcel.Range("A4:c4").VerticalAlignment =2 &&垂直(1=靠上、2=居中、3=靠下、4=兩端對齊、5=分散對齊) oExcel.Range("A4:C4").WrapText =.F. &&文本自動(dòng)換行 oExcel.ActiveSheet.Range("A4:B5").Merge=.T. &&合并單元格 oExcel.ActiveSheet.Range("A1:E2").Copy &&拷貝指定區(qū)域 oExcel.ActiveSheet.Range("b3:d3").BorderS(2).Weight=3 &&指定邊框線寬度(Borders參數(shù)如下) oExcel.ActiveSheet.Range("b3:d3").BorderS(2).LineStyle=1 &&設(shè)置四個(gè)邊框線條的類型 &&(其中Borders參數(shù):1-左、2-右、3-頂、4-底、5-斜、6-斜/;LineStyle值:1與7-細(xì)實(shí)、2-細(xì)虛、4-點(diǎn)虛、9-雙細(xì)實(shí)線) **頁面設(shè)置 WITH oExcel.ActiveSheet.PageSetup .CenterHeader="報(bào)表1" &&設(shè)置頁眉 .CenterHeader="&50報(bào)表1" &&設(shè)置頁眉(字體大小),'&'后面的50可以自定義,表示字體的大小 .CenterFooter="第&P頁" &&設(shè)置頁腳(LeftFoot:居左,CenterFooter:居中,RightFooter:居右) .CenterFooter="&28第&P頁 共&N頁" &&設(shè)置頁腳(字體大小),'&'后面的28可以自定義,表示字體的大小 .HeaderMargin=2/0.035 &&設(shè)置頁眉到頂端邊距為2厘米
感谢您访问我们的网站,您可能还对以下资源感兴趣: |