全面控制EXCEL_第1頁
全面控制EXCEL_第2頁
全面控制EXCEL_第3頁
全面控制EXCEL_第4頁
全面控制EXCEL_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、最近正好有空,看到不少人對VFP控制EXCEL有興趣,現(xiàn)將上次的“精華貼”重新整理一下,供各位愛好者參考!oExcel.Selection.NumberFormatLocal = "" &&把被選定的單元格設(shè)為文本格式1、對象的創(chuàng)建與關(guān)閉  *eole=CREATEOBJECT('Excel.application')                 &#

2、160;                                        && 添加新工作簿eole.Worksheets("sheet3").Act

3、ivate                       && 設(shè)置第3個工作表為激活工作表eole.Workbooks.Open("D:ABC11.xls")              

4、0;      && 打開指定工作簿eole.visible=.t.                                      

5、   && 顯示Excel窗口eole.visible=.F.                                         

6、&& 不顯示Excel窗口eole.Caption="VFP應用程序調(diào)用Microsoft Excel"             && 更改Excel標題欄eole.ActiveWorkbook.SaveAs("D:ABC22.xls")             &#

7、160;&& 工作表另為eole.ActiveWorkbook.saved=.t.                                          

8、;            && 拷貝整個工作表eole.ActiveSheet.Range("A1:E2").Copy                     && 拷貝指定區(qū)域eole.WorkSheet("

9、;Sheet2").Range("A1").PasteSpecial                                          

10、;                                    && 關(guān)閉工作簿eole.quit         

11、0;                                      && 退出Excel2、單元格的設(shè)置  *eole.ActiveSheet.Columns("

12、D:D").Delete                   && 刪除列eole.ActiveSheet.Columns("A:B").Delete                  

13、; && 刪除列 eole.ActiveSheet.Columns(1).ColumnWidth=20                                       &#

14、160;  && 最適合的列寬eole.ActiveSheet.Range("b3:d3").Borders(2).Weight=3      && 指定邊框線寬度                         &#

15、160;(其中Borders參數(shù):1左、2右、3頂、4底、5斜、6斜/;                               LineStyle值:1與7細實、2細虛、4點虛、9雙細實線)eole.ActiveSheet.Range("A1:BE29").Bor

16、ders(1).LineStyle=1 && 設(shè)置四個邊框線條的類型eole.ActiveSheet.Range("A1:BE29").Borders(2).LineStyle=1 && 設(shè)置四個邊框線條的類型eole.ActiveSheet.Range("A1:BE29").Borders(3).LineStyle=1 && 設(shè)置四個邊框線條的類型eole.ActiveSheet.Range("A1:BE29").Borders(4).LineStyle=1 && 設(shè)置

17、四個邊框線條的類型eole.ActiveSheet.Rows(1).Insert                          && 在第1行之前插入一行eole.ActiveSheet.Columns(2).Insert        &

18、#160;              && 在第2列之前插入一列eole.cells(1,2).value="ABTMC"                         &

19、#160;  && 給單元格賦值eole.cells(2,2).value="&BBBB"                            && 給單元格賦值eole.ActiveSheet.Cells(1,4).ClearConte

20、nts                && 清除單元格公式eole.ActiveSheet.Rows(1).RowHeight=1/0.035               && 設(shè)置指定行的高度(單位:磅)    &#

21、160;                                                 &#

22、160;  *(行高為1厘米,1磅=0.035厘米)eole.ActiveSheet.ROWS(1).Font.Name="黑體"                && 設(shè)置字體eole.ActiveSheet.ROWS(1).Font.Size=14           &

23、#160;        && 設(shè)置字體大小eole.ActiveSheet.ROWS(1).Font.Bold=.t.                   && 設(shè)置整行字體為粗體eole.ActiveSheet.Cells(1,1).Font.Italic=.t.  

24、60;           && 設(shè)置字體為斜體eole.Range("A3:BE3").selecteole.selection.WrapText = .T.                        

25、60;   && 自動換行eole.selection.HorizontalAlignment=3                     && 水平方向2左對齊,3居中,4右對齊eole.selection.VerticalAlignment = 2      &#

26、160;              && 垂直方向1靠上,2居中,3靠下eole.Range("A2:B2").selecteole.selection.MergeCells = .T.                    

27、;      && 合并單元eole.selection.HorizontalAlignment=2                     && 水平方向2左對齊,3居中,4右對齊eole.selection.VerticalAlignment = 2   

28、0;                 && 垂直方向1靠上,2居中,3靠下eole.Range("A5:M5").selecteole.Selection.Interior.ColorIndex = 34                

29、;  && 設(shè)置行顏色為淡蘭eole.ActiveSheet.Range("A1:BE29").NumberFormatLocal = ;"_ * #,#0.00_ ; _ * -#,#0.00_ ;_ * "+"-"+"?_ ;_ _ "  && 指定區(qū)域內(nèi)的數(shù)字顯示格式3、打印頁面的設(shè)置  *eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035   

30、       && 設(shè)置頁眉到頂端邊距為2厘米  eole.ActiveSheet.PageSetup.FooterMargin=3/0.035          && 設(shè)置頁腳到底邊距為3厘米eole.ActiveSheet.PageSetup.TopMargin=4/0.035        

31、     && 設(shè)置頂邊距為4厘米eole.ActiveSheet.PageSetup.BottomMargin=4/0.035          && 設(shè)置底邊距為4厘米eole.ActiveSheet.PageSetup.LeftMargin=2/0.035            &&

32、amp; 設(shè)置左邊距為2厘米eole.ActiveSheet.PageSetup.RightMargin=2/0.035           && 設(shè)置右邊距為2厘米eole.ActiveSheet.PageSetup.CenterHorizontally=.t.        && 設(shè)置頁面水平居中 eole.ActiveSheet.PageSetup.CenterVert

33、ically=.t.          && 設(shè)置頁面垂直居中eole.ActiveSheet.PageSetup.PaperSize=8                   && 設(shè)置頁面紙張大小      

34、0;                                                 

35、0;  (1窄行8 5 11 39寬行14 11)eole.ActiveSheet.PageSetup.Orientation=2                 && 橫向eole.ActiveSheet.PageSetup.PrintTitleRows="$1:$3"        &am

36、p;& 定義固定行eole.ActiveSheet.PageSetup.PrintTitleColumns="$A:$C"     && 定義固定列eole.ActiveSheet.PageSetup.CenterHeader= "&14&BTMC"      && 設(shè)置頁眉eole.ActiveSheet.PageSetup.CenterFooter="表_第&P頁&qu

37、ot;      && 設(shè)置頁腳eole.Worksheets("Sheet1").Rows(18).PageBreak=1           && 在第18行之前插入分頁符eole.ActiveSheet.Columns(4).PageBreak=0          &#

38、160;       && 在第4列之前刪除分頁符eole.ActiveSheet.PageSetup.PrintGridlines=.t.                               &

39、#160;                                        && 打印輸出工作表oExcel.ActiveSheet.PageSetup.Zoom=90

40、&&縮放90%4、記錄條數(shù)的利用  *一般來講,EXCEL表的來源為DBF文件,列、行應該是可以預知的USE 111COUNT TO AAAUSEFWQ  = "A3:M"+ALLT(STR(AAA+?)  ?為EXCEL表插入的行數(shù)eole.ActiveSheet.Range(FWQ).Borders(1).LineStyle=1       && 設(shè)置四個邊框線條的類型eole.ActiveSheet.Rang

41、e(FWQ).Borders(2).LineStyle=1       && 設(shè)置四個邊框線條的類型eole.ActiveSheet.Range(FWQ).Borders(3).LineStyle=1       && 設(shè)置四個邊框線條的類型eole.ActiveSheet.Range(FWQ).Borders(4).LineStyle=1       &

42、amp;& 設(shè)置四個邊框線條的類型5、VFP下直接調(diào)用EXCEL、WORD文件  *DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING, ;                        STRING lpszFile, STRING, STRING, I

43、NTEGERoperate= "open"ShellExecute(0,operate,"C:111.XLS",0,0,1)               && EXCEL文件ShellExecute(0,operate,"C:111.DOC",0,0,1)          

44、;     && WORD文件*VFP全面控制EXCEL本文來自CSDN博客:VFP和Excel都可以用來進行處理數(shù)據(jù)庫表格,如果巧妙地將二者的優(yōu)點結(jié)合起來,將會大大方便我們的工作。比如我們可以利用VFP進行處理數(shù)據(jù),而利用Excel的預覽打印功能進行報表打印。這就需要我們在VFP中直接來控制Excel。下面就在開發(fā)VFP應用項目時對Excel的控制作一下介紹:*!* 1創(chuàng)建Excel對象oExcel=Createobject("Excel.application")*!* 2添加新工作簿oExcel.Wor

45、kbooks.Add *!* 3設(shè)置第3個工作表為激活工作表oExcel.Worksheets("sheet3").Activate *!* 4打開指定工作簿oExcel.Workbooks.Open("c:templl.xls") *!* 5顯示Excel窗口oExcel.Visible=.T. *!* 6更改Excel標題欄oExcel.Caption="VFP應用程序調(diào)用Microsoft Excel" *!* 7給單元格賦值oExcel.cells(1,4).Value=XM(

46、XM為數(shù)據(jù)庫字段名) *!* 8設(shè)置指定列的寬度(單位:字符個數(shù))oExcel.ActiveSheet.Columns(1).ColumnWidth=5 *!* 9設(shè)置指定行的高度(單位:磅)oExcel.ActiveSheet.Rows(1).RowHeight=1(設(shè)定行高為1磅,1磅=0.035厘米)oExcel.ActiveSheet.Rows("50:100").RowHeight=1 &&設(shè)置第50行至100行的高度 *!* 10在第18行之前插入分頁符oExcel.Worksheets("Sheet1&q

47、uot;).Rows(18).PageBreak=1 *!* 11在第4列之前刪除分頁符oExcel.ActiveSheet.Columns(4).PageBreak=0 *!* 12指定邊框線寬度(Borders參數(shù)如下)ole.ActiveSheet.Range("b3:d3").BorderS(2).Weight=3 *!* 13設(shè)置四個邊框線條的類型oExcel.ActiveSheet.Range("b3:d3").BorderS(2).LineStyle=1(其中Borders參數(shù):1左、2右、3頂、4底、5斜、6

48、斜/;LineStyle值:1與7細實、2細虛、4點虛、9雙細實線) *!* 14設(shè)置頁眉oExcel.ActiveSheet.PageSetup.CenterHeader="報表1" *!* 15設(shè)置頁眉(字體大小)oExcel.ActiveSheet.PageSetup.CenterHeader="&50報表1" &&'&'后面的50可以自定義,表示字體的大小 *!* 16設(shè)置頁腳oExcel.ActiveSheet.PageSetup.CenterFooter="

49、;第&P頁" *!* 17.設(shè)置頁腳(字體大小)oExcel.ActiveSheet.PageSetup.CenterFooter="&28第&P頁" &&'&'后面的28可以自定義,表示字體的大小 *!* 18設(shè)置頁眉到頂端邊距為2厘米oExcel.ActiveSheet.PageSetup.HeaderMargin=2/0.035 *!* 19設(shè)置頁腳到底邊距為3厘米oExcel.ActiveSheet.PageSetup.FooterMargin=3/0.035&#

50、160;*!* 20設(shè)置頂邊距為2厘米oExcel.ActiveSheet.PageSetup.TopMargin=2/0.035 *!* 21設(shè)置底邊距為4厘米oExcel.ActiveSheet.PageSetup.BottomMargin=4/0.035 *!* 22設(shè)置左邊距為2厘米oExcel.ActiveSheet.PageSetup.LeftMargin=2/0.035 *!* 23設(shè)置右邊距為2厘米oExcel.ActiveSheet.PageSetup.RightMargin=2/0.035 *!* 24設(shè)置頁面水平居中oExcel.A

51、ctiveSheet.PageSetup.CenterHorizontally=.T. *!* 25設(shè)置頁面垂直居中oExcel.ActiveSheet.PageSetup.CenterVertically=.T. *!* 26設(shè)置頁面紙張大小(1窄行8511 39寬行1411 9:A4)oExcel.ActiveSheet.PageSetup.Papersize=1 *!* 27打印單元格網(wǎng)線oExcel.ActiveSheet.PageSetup.PrintGridlines=.T. *!* 28拷貝整個工作表oExcel.ActiveSheet.U

52、sedRange.Copy *!* 29拷貝指定區(qū)域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設(shè)置字體oExcel.

53、ActiveSheet.Cells(2,1).Font.Name="黑體" *!* 34設(shè)置字體大小oExcel.ActiveSheet.Cells(1,1).Font.Size=25 *!* 35設(shè)置字體為斜體oExcel.ActiveSheet.Cells(1,1).Font.Italic=.T. *!* 36設(shè)置整列字體為粗體oExcel.ActiveSheet.Columns(1).Font.Bold=.T. *!* 37清除單元格公式oExcel.ActiveSheet.Cells(1,4).ClearContents

54、60;*!* 38打印預覽工作表oExcel.ActiveSheet.PrintPreview *!* 39打印輸出工作表oExcel.ActiveSheet.PrintOut *!* 40 oExcel.CommandBars(1).Controls(1).accChild(18).Execute &&打?。ú藛涡蛱?8為Excel2003的打印項)&&不同版本Excel的菜單序號可以通過以下程序取得*(需要在VFP7.0以上運行)oXls=Getobject("","excel.sheet")XlA

55、pp=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.CommandBars(i).Index)+'

56、;)'    bars2=mandbars(i).accChildCount    For j=1 To bars2        Try            obj=mandbars(i).Controls(j)            S

57、tr1=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       

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

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

60、Endif                Catch                    Exit             &#

61、160;  Endtry            Endfor        Catch            Exit        Endtry    Endfor   

62、; Wait Windows Alltrim(Str(i)+' / '+Alltrim(Str(bars)+' '+Str(i/bars*100,10,2)+'%' NowaitEndforSave To Xls.txt All Like Str1Modify Command Xls.txtReturn訪問EXCEL:ExcelSheet = GetObject('','Excel.Sheet') 返回結(jié)果為類,則成功。例:ExcelSheet = GetObject('','Excel.S

63、heet')If Type("ExcelSheet")#'O' THEN =MessageBox( "訪問Excel失??!請檢查你的系統(tǒng)是否正確安裝 Excel 軟件!",48,"Excel不正常") RETURNENDIF創(chuàng)建EXCEL實例:oExcel=CreateObject("Excel.Application") 該實例創(chuàng)建后,任何對EXCEL的操作都針對該實例進行,關(guān)閉EXCEL后應釋放該實例變量:RELEASE oExcel打開已存在的EXCEL文件:oExcel.WorkBo

64、oks.Open("&lcFileName") &&lcFileName為Excel文件名 打開帶有讀寫密碼的文件:oExcel.WorkBooks.Open("&lcFileName",.F.,"&R_Pwd","&W_Pwd") &&lcFileName-文件名,R_Pwd-讀密碼,W_Pwd-寫密碼,第二個參數(shù)表示讀寫方式:.T.只讀,.F.讀寫設(shè)置新增工作薄的工作表數(shù):oExcel.SheetsInNewWorkbook=1 &&

65、;新建工作表數(shù)量定為1個新增EXCEL工作表:oExcel.Sheets.Add &&不帶參數(shù)為增加至當前工作表之前 在指定工作表后新建工作表:oExcel.Sheets.Add(,oExcel.Sheets(lnSheet),1,-4167) &&lnSheet為指定表號 在最后工作表后新建工作表:oExcel.Sheets.Add(,lnSheetsCnt,1,-4167) &&lnSheetCnt為工作表總數(shù)激活工作表:oExcel.WorkSheets("Sheet1").Activate &&激活工作

66、表1 刪除工作表:oExcel.WorkSheets("Sheet2").Delete &&刪除工作表2 命名工作表:oExcel.WorkSheets("Sheet3").Name="新表" &&重命名工作表3使EXCEL可視:oExcel.Visible=.T.Excel的窗口控制:oExcel.WindowState = -4140 &&最小化=-4140,最大化=-4137,還原=-4143后臺操作報警關(guān)閉:oExcel.DisplayAlerts=.F. &&關(guān)閉(.F.) 打開(.T.)設(shè)置工作薄的標題:oExcel.Caption="Vfp控制Excel操作"當前工作薄換名存盤:oExcel.ActiveWorkBook.SaveAs("&lcFileName") 換名存為文本文件:oExcel.ActiveWorkBook.Saveas("&lcFileName",-415

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論