




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、最近正好有空,看到不少人對(duì)VFP控制EXCEL有興趣,現(xiàn)將上次的“精華貼”重新整理一下,供各位愛(ài)好者參考!oExcel.Selection.NumberFormatLocal = "" &&把被選定的單元格設(shè)為文本格式1、對(duì)象的創(chuàng)建與關(guān)閉 *eole=CREATEOBJECT('Excel.application')
2、160; && 添加新工作簿eole.Worksheets("sheet3").Act
3、ivate && 設(shè)置第3個(gè)工作表為激活工作表eole.Workbooks.Open("D:ABC11.xls")
4、0; && 打開(kāi)指定工作簿eole.visible=.t.
5、 && 顯示Excel窗口eole.visible=.F.
6、&& 不顯示Excel窗口eole.Caption="VFP應(yīng)用程序調(diào)用Microsoft Excel" && 更改Excel標(biāo)題欄eole.ActiveWorkbook.SaveAs("D:ABC22.xls")
7、160;&& 工作表另為eole.ActiveWorkbook.saved=.t.
8、; && 拷貝整個(gè)工作表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細(xì)實(shí)、2細(xì)虛、4點(diǎn)虛、9雙細(xì)實(shí)線)eole.ActiveSheet.Range("A1:BE29").Bor
16、ders(1).LineStyle=1 && 設(shè)置四個(gè)邊框線條的類型eole.ActiveSheet.Range("A1:BE29").Borders(2).LineStyle=1 && 設(shè)置四個(gè)邊框線條的類型eole.ActiveSheet.Range("A1:BE29").Borders(3).LineStyle=1 && 設(shè)置四個(gè)邊框線條的類型eole.ActiveSheet.Range("A1:BE29").Borders(4).LineStyle=1 && 設(shè)置
17、四個(gè)邊框線條的類型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; && 自動(dòng)換行eole.selection.HorizontalAlignment=3 && 水平方向2左對(duì)齊,3居中,4右對(duì)齊eole.selection.VerticalAlignment = 2
26、160; && 垂直方向1靠上,2居中,3靠下eole.Range("A2:B2").selecteole.selection.MergeCells = .T.
27、; && 合并單元eole.selection.HorizontalAlignment=2 && 水平方向2左對(duì)齊,3居中,4右對(duì)齊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、打印頁(yè)面的設(shè)置 *eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035
30、 && 設(shè)置頁(yè)眉到頂端邊距為2厘米 eole.ActiveSheet.PageSetup.FooterMargin=3/0.035 && 設(shè)置頁(yè)腳到底邊距為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è)置頁(yè)面水平居中 eole.ActiveSheet.PageSetup.CenterVert
33、ically=.t. && 設(shè)置頁(yè)面垂直居中eole.ActiveSheet.PageSetup.PaperSize=8 && 設(shè)置頁(yè)面紙張大小
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è)置頁(yè)眉eole.ActiveSheet.PageSetup.CenterFooter="表_第&P頁(yè)&qu
37、ot; && 設(shè)置頁(yè)腳eole.Worksheets("Sheet1").Rows(18).PageBreak=1 && 在第18行之前插入分頁(yè)符eole.ActiveSheet.Columns(4).PageBreak=0
38、160; && 在第4列之前刪除分頁(yè)符eole.ActiveSheet.PageSetup.PrintGridlines=.t. &
39、#160; && 打印輸出工作表oExcel.ActiveSheet.PageSetup.Zoom=90
40、&&縮放90%4、記錄條數(shù)的利用 *一般來(lái)講,EXCEL表的來(lái)源為DBF文件,列、行應(yīng)該是可以預(yù)知的USE 111COUNT TO AAAUSEFWQ = "A3:M"+ALLT(STR(AAA+?) ?為EXCEL表插入的行數(shù)eole.ActiveSheet.Range(FWQ).Borders(1).LineStyle=1 && 設(shè)置四個(gè)邊框線條的類型eole.ActiveSheet.Rang
41、e(FWQ).Borders(2).LineStyle=1 && 設(shè)置四個(gè)邊框線條的類型eole.ActiveSheet.Range(FWQ).Borders(3).LineStyle=1 && 設(shè)置四個(gè)邊框線條的類型eole.ActiveSheet.Range(FWQ).Borders(4).LineStyle=1 &
42、amp;& 設(shè)置四個(gè)邊框線條的類型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本文來(lái)自CSDN博客:VFP和Excel都可以用來(lái)進(jìn)行處理數(shù)據(jù)庫(kù)表格,如果巧妙地將二者的優(yōu)點(diǎn)結(jié)合起來(lái),將會(huì)大大方便我們的工作。比如我們可以利用VFP進(jìn)行處理數(shù)據(jù),而利用Excel的預(yù)覽打印功能進(jìn)行報(bào)表打印。這就需要我們?cè)赩FP中直接來(lái)控制Excel。下面就在開(kāi)發(fā)VFP應(yīng)用項(xiàng)目時(shí)對(duì)Excel的控制作一下介紹:*!* 1創(chuàng)建Excel對(duì)象oExcel=Createobject("Excel.application")*!* 2添加新工作簿oExcel.Wor
45、kbooks.Add *!* 3設(shè)置第3個(gè)工作表為激活工作表oExcel.Worksheets("sheet3").Activate *!* 4打開(kāi)指定工作簿oExcel.Workbooks.Open("c:templl.xls") *!* 5顯示Excel窗口oExcel.Visible=.T. *!* 6更改Excel標(biāo)題欄oExcel.Caption="VFP應(yīng)用程序調(diào)用Microsoft Excel" *!* 7給單元格賦值oExcel.cells(1,4).Value=XM(
46、XM為數(shù)據(jù)庫(kù)字段名) *!* 8設(shè)置指定列的寬度(單位:字符個(gè)數(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行之前插入分頁(yè)符oExcel.Worksheets("Sheet1&q
47、uot;).Rows(18).PageBreak=1 *!* 11在第4列之前刪除分頁(yè)符oExcel.ActiveSheet.Columns(4).PageBreak=0 *!* 12指定邊框線寬度(Borders參數(shù)如下)ole.ActiveSheet.Range("b3:d3").BorderS(2).Weight=3 *!* 13設(shè)置四個(gè)邊框線條的類型oExcel.ActiveSheet.Range("b3:d3").BorderS(2).LineStyle=1(其中Borders參數(shù):1左、2右、3頂、4底、5斜、6
48、斜/;LineStyle值:1與7細(xì)實(shí)、2細(xì)虛、4點(diǎn)虛、9雙細(xì)實(shí)線) *!* 14設(shè)置頁(yè)眉o(jì)Excel.ActiveSheet.PageSetup.CenterHeader="報(bào)表1" *!* 15設(shè)置頁(yè)眉(字體大小)oExcel.ActiveSheet.PageSetup.CenterHeader="&50報(bào)表1" &&'&'后面的50可以自定義,表示字體的大小 *!* 16設(shè)置頁(yè)腳oExcel.ActiveSheet.PageSetup.CenterFooter="
49、;第&P頁(yè)" *!* 17.設(shè)置頁(yè)腳(字體大小)oExcel.ActiveSheet.PageSetup.CenterFooter="&28第&P頁(yè)" &&'&'后面的28可以自定義,表示字體的大小 *!* 18設(shè)置頁(yè)眉到頂端邊距為2厘米o(hù)Excel.ActiveSheet.PageSetup.HeaderMargin=2/0.035 *!* 19設(shè)置頁(yè)腳到底邊距為3厘米o(hù)Excel.ActiveSheet.PageSetup.FooterMargin=3/0.035
50、160;*!* 20設(shè)置頂邊距為2厘米o(hù)Excel.ActiveSheet.PageSetup.TopMargin=2/0.035 *!* 21設(shè)置底邊距為4厘米o(hù)Excel.ActiveSheet.PageSetup.BottomMargin=4/0.035 *!* 22設(shè)置左邊距為2厘米o(hù)Excel.ActiveSheet.PageSetup.LeftMargin=2/0.035 *!* 23設(shè)置右邊距為2厘米o(hù)Excel.ActiveSheet.PageSetup.RightMargin=2/0.035 *!* 24設(shè)置頁(yè)面水平居中oExcel.A
51、ctiveSheet.PageSetup.CenterHorizontally=.T. *!* 25設(shè)置頁(yè)面垂直居中oExcel.ActiveSheet.PageSetup.CenterVertically=.T. *!* 26設(shè)置頁(yè)面紙張大小(1窄行8511 39寬行1411 9:A4)oExcel.ActiveSheet.PageSetup.Papersize=1 *!* 27打印單元格網(wǎng)線oExcel.ActiveSheet.PageSetup.PrintGridlines=.T. *!* 28拷貝整個(gè)工作表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打印預(yù)覽工作表oExcel.ActiveSheet.PrintPreview *!* 39打印輸出工作表oExcel.ActiveSheet.PrintOut *!* 40 oExcel.CommandBars(1).Controls(1).accChild(18).Execute &&打?。ú藛涡蛱?hào)18為Excel2003的打印項(xiàng))&&不同版本Excel的菜單序號(hào)可以通過(guò)以下程序取得*(需要在VFP7.0以上運(yùn)行)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訪問(wèn)EXCEL:ExcelSheet = GetObject('','Excel.Sheet') 返回結(jié)果為類,則成功。例:ExcelSheet = GetObject('','Excel.S
63、heet')If Type("ExcelSheet")#'O' THEN =MessageBox( "訪問(wèn)Excel失??!請(qǐng)檢查你的系統(tǒng)是否正確安裝 Excel 軟件!",48,"Excel不正常") RETURNENDIF創(chuàng)建EXCEL實(shí)例:oExcel=CreateObject("Excel.Application") 該實(shí)例創(chuàng)建后,任何對(duì)EXCEL的操作都針對(duì)該實(shí)例進(jìn)行,關(guān)閉EXCEL后應(yīng)釋放該實(shí)例變量:RELEASE oExcel打開(kāi)已存在的EXCEL文件:oExcel.WorkBo
64、oks.Open("&lcFileName") &&lcFileName為Excel文件名 打開(kāi)帶有讀寫(xiě)密碼的文件:oExcel.WorkBooks.Open("&lcFileName",.F.,"&R_Pwd","&W_Pwd") &&lcFileName-文件名,R_Pwd-讀密碼,W_Pwd-寫(xiě)密碼,第二個(gè)參數(shù)表示讀寫(xiě)方式:.T.只讀,.F.讀寫(xiě)設(shè)置新增工作薄的工作表數(shù):oExcel.SheetsInNewWorkbook=1 &&
65、;新建工作表數(shù)量定為1個(gè)新增EXCEL工作表:oExcel.Sheets.Add &&不帶參數(shù)為增加至當(dāng)前工作表之前 在指定工作表后新建工作表:oExcel.Sheets.Add(,oExcel.Sheets(lnSheet),1,-4167) &&lnSheet為指定表號(hào) 在最后工作表后新建工作表: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后臺(tái)操作報(bào)警關(guān)閉:oExcel.DisplayAlerts=.F. &&關(guān)閉(.F.) 打開(kāi)(.T.)設(shè)置工作薄的標(biāo)題:oExcel.Caption="Vfp控制Excel操作"當(dāng)前工作薄換名存盤(pán):oExcel.ActiveWorkBook.SaveAs("&lcFileName") 換名存為文本文件:oExcel.ActiveWorkBook.Saveas("&lcFileName",-415
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 通訊行業(yè)會(huì)計(jì)的工作計(jì)劃
- 建立互助養(yǎng)老服務(wù)網(wǎng)絡(luò)的計(jì)劃
- 水務(wù)產(chǎn)業(yè)發(fā)展戰(zhàn)略計(jì)劃
- 促進(jìn)學(xué)校與家長(zhǎng)的緊密合作的學(xué)期工作計(jì)劃
- 2025年合成橡膠型膠粘劑項(xiàng)目建議書(shū)
- 強(qiáng)化供需監(jiān)測(cè)機(jī)制保障市場(chǎng)秩序
- 2025年人造崗石樹(shù)脂項(xiàng)目建議書(shū)
- 2025年硅粉系列合作協(xié)議書(shū)
- 國(guó)有土地使用權(quán)租賃合同
- 第二季度部門(mén)工作計(jì)劃表
- 2024河南省鄭州市公安局輔警招聘2024人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 投資居間協(xié)議合同模板
- 多重耐藥菌的預(yù)防及護(hù)理課件
- 抽水蓄能電站課件
- GB/T 25052-2024連續(xù)熱浸鍍層鋼板和鋼帶尺寸、外形、重量及允許偏差
- 河北科大項(xiàng)目實(shí)施計(jì)劃書(shū)
- 消防設(shè)施操作和維護(hù)保養(yǎng)規(guī)程
- -精益與智能工廠三年規(guī)劃
- 2024年高素質(zhì)農(nóng)民職業(yè)技能大賽(農(nóng)業(yè)經(jīng)理人)賽項(xiàng)考試題庫(kù)-下(多選、判斷題)
- 中小學(xué)校園安全教育主題班會(huì)課件:筑牢安全紅線、守護(hù)校園平安
- 高空作業(yè)考試題(帶答案)
評(píng)論
0/150
提交評(píng)論