版權(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 供暖行業(yè)課件教學課件
- 腦血吸蟲病病例分析
- 庫欣病診治專家共識
- 2023年香料香精資金籌措計劃書
- 踩點點課件教學課件
- 施工單位安全員述職報告
- 期末考前安全教育主題班會
- 安防員個人述職報告
- 肛腸科一病一品匯報
- 猜猜他是誰教案及反思
- 危險源辨識與風險評價全流程講解
- 建筑建筑物改造的防雷接地方案
- 能源與動力工程專業(yè)英語詞匯
- 冷縮電纜附件
- 【課件】Unit4 Natural disaster 重點詞匯課件人教版高中英語必修第一冊
- 生物安全應急處置演練記錄
- 【課件】3.1DNA是主要的遺傳物質(zhì)課件高一下學期生物人教版必修2
- 民族地區(qū)新型城鎮(zhèn)化
- 等邊三角形教案
- 3D數(shù)據(jù)設(shè)計通用規(guī)范
- 急診科常見預檢分診流程
評論
0/150
提交評論