如何在vfp中調(diào)用excel實(shí)現(xiàn)圖、表的制作(之八)本講純屬湊數(shù),將搜集的一些可能用到的VFP調(diào)用Excel指令語(yǔ)句羅列出來(lái)供各位在編程時(shí)參考。所幸沒有稿酬可賺,也就沒有騙稿費(fèi)之嫌,各位看官也就不會(huì)責(zé)怪我。呵呵。
1. 創(chuàng)建Excel對(duì)象
eole=CreateObject(“Excel.application”)
2. 添加新的工作簿
eole.Workbooks.Add
3. 打開指定工作簿
eole.Workbooks.Open(“C:\demo.xls”)
4. 設(shè)置第三個(gè)工作表為激活(作用)工作表
eole.WorkSheets(“Sheet3”).Activate
5. 是否顯示Excel窗口
eole.Visible=.T. (.T. 顯示;.F.不顯示)
6.關(guān)閉工作簿
eole.Workbooks.Close
7.退出Excel
eole.quit
8.保存當(dāng)前工作簿
eole.ActiveWorkbook.Save
9.當(dāng)前工作簿另存為
eole.ActiveWorkbook.SaveAs(“e:\temp\my1.xls”)
10.退出時(shí)是否存盤
eole.ActiveWorkbook.Saved=.F. (.F. 放棄存盤;.T.不放棄存盤)
11.是否防止警告框的出現(xiàn)
eole.DisplayAlerts=.F. (.F. 不出現(xiàn);.T.出現(xiàn))
12.運(yùn)行Excel宏
eole.Application.Run(“宏1”)
13.當(dāng)前屏不顯示零值
eole.ActiveWindow.DisplayZeros=.F.
14.更改Excel標(biāo)題欄內(nèi)容
eole.Caption=”趨勢(shì)分析表”
15. 給單元格賦值
eole.Cells(1,4).Value=3.1416
16.選定區(qū)域
eole.ActiveSheet.Range(“A1:G10”).Select
17.清除區(qū)域
eole. ActiveSheet.Range(“A1:G10”).Clear
18.合并單元格
eole.ActiveSheet.Range(“A1:B2”).Merge
19. 設(shè)置字體
eole.ActiveSheet.Cells(2,1).font.name=”隸書”
20. 設(shè)置字號(hào)
eole.ActiveSheet.Cells(2,1).font.size=16
21.設(shè)置字體顏色
eole.ActiveSheet.Cells(1,1).font.ColorIndex=3
22.字體設(shè)為斜體
eole.ActiveSheet.Cells(1,1).font.Italic=.T.
23.文字帶下劃線
eole. ActiveSheet.Range(“A2:A2”).font.underline=.T.
24.整列字體為粗體
eole.ActiveSheet.Columns(2).font.bold=.T.
25.設(shè)置單元格背景色
eole. ActiveSheet.Cells(3,4).Interior.ColorIndex = 46
26.調(diào)整列寬
eole.Range(“A1:H1”).ColumnWidth=12.5
27.調(diào)整指定列寬度
eole.ActiveSheet.Column(2).ColumnWidth=20
28.單元格文字居中
eole.Cells(1,8).HorizontalAlignment=3
29.插行
eole.ActiveSheet.Rows(1).Insert
30.刪行
eole.ActiveSheet.Rows[8].Delete
31.插列
eole.ActiveSheet.Columns(2).Insert
32.刪列
eole.Columns("D:D").Select
eole.Selection.Delete(-4159)
33.刪除指定工作表指定列
eole.WorkSheets(“Sheet1”).Row(3).Delete
34.調(diào)整行高
eole.ActiveSheet.Rows(5).RowHeight=40
35.塊拷貝
eole.Range(“A1:J3”).Select
eole.Selection.Copy
或:eole.ActiveSheet.Range(“A1:E2”).Copy
36.塊粘貼
eole.Range(“A1:A1”).Select
eole.ActiveSheet.Paste
37.拷貝整個(gè)工作表
eole.ActiveSheet.Used.Range.Copy / eole.Cells.Copy
38.在指定工作表指定單元格粘貼
eole.WorkSheets(“Sheet2”).Range(“A1”).PasteSpecial
39.單元格設(shè)置公式
eole.Range(“A1”).Fornula=”=10*Rand()”
40.清除單元格公式
eole.ActiveSheet.Cells(1,4).ClearContents
41.插入新工作表
eole.Sheets.Add
42.刪除某個(gè)工作表
eole.Sheets(“Sheet2”).Select
eole.ActiveWindow.SelectSheets.Delete
43.返回當(dāng)前工作簿工作表的總數(shù)
eole.WorkSheets.Count
44.返回Sheet1工作表的表名
eole.WorkSheets(1).Name
45.工作表更名
eole.Sheets(2).Name=”損益表”
46. 設(shè)置表格四個(gè)邊框線條的類型
eole.ActiveSheet.Range(“B3:D3”).Borders(2).Linestyle=1
其中:borders參數(shù):1-左 2-右 3-頂 4-底 5-斜/ 6-反斜\
Linestyle參數(shù):1和7-細(xì)實(shí)線;2-細(xì)虛線;4-點(diǎn)虛線;9:雙細(xì)實(shí)線
47. 設(shè)置表格邊框線粗細(xì)
eole.ActiveSheet.Range(“B3:D3”).Borders(2).Weight=3
48.在指定行插入分頁(yè)符
eole.WorkSheets(“Sheet1”).Rows(10).PageBreak=1
49.在指定列之前刪除分頁(yè)符
eole.ActiveSheet.Columns(4).PageBreak=0
50.打印預(yù)覽工作表
eole.ActiveSheet.PrintPreview
51.打印輸出
eole.ActiveSheet.Printout
52.報(bào)表打印方向
eole.ActiveSheet.PageSetup.Orientation=1 (1:垂直打印2:水平打印)
53.設(shè)置頁(yè)面紙張尺寸
eole.ActiveSheet.PageSetup.PaperSize=9
54.打印單元格網(wǎng)線
eole.ActiveSheet.PageSetup.PrintGridLines=.T.
55.報(bào)表水平居中
eole.ActiveSheet.PageSetup.CenterHorizontally=.T.
56.報(bào)表垂直居中
eole.ActiveSheet.PageSetup. CenterVertically=.T.
57.設(shè)置報(bào)表頁(yè)眉
eole.ActiveSheet.PageSetup.CenterHeader=”報(bào)表1”
58.設(shè)置報(bào)表頁(yè)腳
eole.ActiveSheet.PageSetup.CenterFooter=”第6頁(yè)”
59.設(shè)置報(bào)表左邊距
eole.ActiveSheet.PageSetup.LeftMargin=2/0.035 (2厘米)
60.設(shè)置報(bào)表右邊距
eole.ActiveSheet.PageSetup.RightMargin=2/0.035
61.設(shè)置報(bào)表頂邊距
eole.ActiveSheet.PageSetup.TopMargin=2/0.035
62.設(shè)置報(bào)表底邊距
eole.ActiveSheet.PageSetup.BottomMargin=2/0.035
關(guān)于VFP調(diào)用Excel 編程最后再羅嗦幾句。
1. 獲取Excel VBA幫助:Excel提供了功能強(qiáng)大的Visual Basic Editor(VBE)操作環(huán)境,可以很方便地查找各種Excel對(duì)象及其屬性、方法等信息。在第二講中我們?cè)?jiǎn)單介紹過(guò)Excel的對(duì)象層次關(guān)系,以方便圖、表的生成制作,其實(shí)Excel的對(duì)象數(shù)量及層次關(guān)系要復(fù)雜得多。例如,通過(guò)按組合鍵Alt+F11進(jìn)入VBE環(huán)境,按F1,在彈出的對(duì)話框中輸入Excel Object按回車,點(diǎn)擊’請(qǐng)看下一頁(yè)…’,點(diǎn)擊’Microsoft Excel 對(duì)象’,將顯示Excel的完整對(duì)象樹。點(diǎn)擊’對(duì)象瀏覽器’快捷鍵可查看Excel中各對(duì)象成員屬性、方法等。
2. 上幾講所舉的實(shí)例代碼都是將生成的圖、表顯示后靠點(diǎn)擊’打印’快捷鍵實(shí)現(xiàn)打印,如果希望生成后不經(jīng)顯示而直接打印,請(qǐng)使用eole.ActiveSheet.Printout語(yǔ)句。以(之五)所列出的兩個(gè)代碼段為例,可以把每個(gè)代碼段的末尾5行代碼刪去,在eole.quit語(yǔ)句之前插入eole.ActiveSheet.Printout語(yǔ)句即可。
3. 運(yùn)行含有VFP調(diào)用Excel的程序由于代碼編寫有誤或其它原因造成運(yùn)行失敗,有時(shí)VFP給出的出錯(cuò)信息可能并不正確,讓人摸不著頭腦,這可能是由于兩者是不同軟件銜接不緊造成的,需要在編程中不斷摸索積累調(diào)試經(jīng)驗(yàn)。
結(jié)束語(yǔ)
本文著力從初學(xué)者的角度出發(fā),故沒有采用諸如”你嘗試一下某某函數(shù)或命令”或者”你先自行了解一下宏的概念和機(jī)理,再來(lái)……”這樣讓人不著邊際的籠統(tǒng)做法,而是力求把操作過(guò)程講細(xì),盡量給出完整可運(yùn)行的程序代碼并輔以詳盡的注釋,增強(qiáng)可操作性,使初學(xué)者能在一次次成功中提高自信心,取得實(shí)實(shí)在在的效果。本文是應(yīng)一些網(wǎng)友的要求而寫。初學(xué)者在早期的摸索中總是渴望得到幫助,畢竟誰(shuí)都是從初學(xué)者一步一步走過(guò)來(lái)的,我很能理解他們的心情。于是才有了動(dòng)力把自己一點(diǎn)心得寫出與各位網(wǎng)友交流。由于筆者才疏學(xué)淺,謬誤之處敬請(qǐng)行家里手予以指正,繁絮嘮叨之處還請(qǐng)各位多包涵。有時(shí)稿子已傳上去了才發(fā)覺有敲錯(cuò)的地方。如果本文能對(duì)foxer初學(xué)者的編程過(guò)程有所助益,就算沒有白忙活,也就不枉為了筆者辛苦爬格子挑燈開夜車(沒有夜餐補(bǔ)助)。最后衷心感謝各位網(wǎng)友的支持,感謝那些能耐著性子讀完全文的各位讀者,同時(shí)也要感謝本站版主的合作與鼓勵(lì),謝謝大家! 全文
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。