|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
goto-dream
註冊時間: 2004-05-11 文章: 909
第 1 樓
|
發表於: 星期一 九月 20, 2004 6:01 pm 文章主題: 新編 VFP 控制 EXCEL 的方法(轉貼) |
|
|
新編 VFP 控制 EXCEL 的方法 SZGJR 編成愛好者
http://www.programfan.com/club/showbbs.asp?id=45999
最近正好有空,看到不少人對VFP控制EXCEL有興趣,現將上次的「精華貼」重新整理一下,供各位愛好者參考!
1、對象的創建與關閉 *******************************
eole=CREATEOBJECT('Excel.application') && 創建Excel對像
eole.Workbooks.add && 添加新工作簿
eole.Worksheets("sheet3").Activate && 設置第3個工作表為激活工作表
eole.Workbooks.Open("D:\ABC\11.xls") && 打開指定工作簿
eole.visible=.t. && 顯示Excel窗口
eole.visible=.F. && 不顯示Excel窗口
eole.Caption="VFP應用程序調用Microsoft Excel" && 更改Excel標題欄
eole.ActiveWorkbook.SaveAs("D:\ABC\22.xls") && 工作表另為
eole.ActiveWorkbook.saved=.t. && 放棄存盤
eole.ActiveSheet.UsedRange.Copy && 拷貝整個工作表
eole.ActiveSheet.Range("A1:E2").Copy && 拷貝指定區域
eole.WorkSheet("Sheet2").Range("A1").PasteSpecial && 粘貼
eole.ActiveWorkbook.Save && 存盤(自動存盤不提問)
eole.Workbooks.close && 關閉工作簿
eole.quit && 退出Excel
2、單元格的設置 ***********************************
eole.ActiveSheet.Columns("D:D").Delete && 刪除列
eole.ActiveSheet.Columns("A:B").Delete && 刪除列
eole.ActiveSheet.Columns(1).ColumnWidth=20 && 列的寬度(單位:字符個數)
eole.ActiveSheet.Columns(2).ColumnWidth=30
eole.ActiveSheet.Columns("C:BE").ColumnWidth=9.5
eole.Selection.Columns.AutoFit && 最適合的列寬
eole.ActiveSheet.Range("b3:d3").Borders(2).Weight=3 && 指定邊框線寬度
(其中Borders參數:1-左、2-右、3-頂、4-底、5-斜、6-斜/;
LineStyle值:1與7-細實、2-細虛、4-點虛、9-雙細實線)
eole.ActiveSheet.Range("A1:BE29").Borders(1).LineStyle=1 && 設置四個邊框線條的類型
eole.ActiveSheet.Range("A1:BE29").Borders(2).LineStyle=1 && 設置四個邊框線條的類型
eole.ActiveSheet.Range("A1:BE29").Borders(3).LineStyle=1 && 設置四個邊框線條的類型
eole.ActiveSheet.Range("A1:BE29").Borders(4).LineStyle=1 && 設置四個邊框線條的類型
eole.ActiveSheet.Rows(1).Insert && 在第1行之前插入一行
eole.ActiveSheet.Columns(2).Insert && 在第2列之前插入一列
eole.cells(1,2).value="ABTMC" && 給單元格賦值
eole.cells(2,2).value="&BBBB" && 給單元格賦值
eole.ActiveSheet.Cells(1,4).ClearContents && 清除單元格公式
eole.ActiveSheet.Rows(1).RowHeight=1/0.035 && 設置指定行的高度(單位:磅)
*(行高為1厘米,1磅=0.035厘米)
eole.ActiveSheet.ROWS(1).Font.Name="黑體" && 設置字體
eole.ActiveSheet.ROWS(1).Font.Size=14 && 設置字體大小
eole.ActiveSheet.ROWS(1).Font.Bold=.t. && 設置整行字體為粗體
eole.ActiveSheet.Cells(1,1).Font.Italic=.t. && 設置字體為斜體
eole.Range("A3:BE3").select
eole.selection.WrapText = .T. && 自動換行
eole.selection.HorizontalAlignment=3 && 水平方向 2左對齊,3居中,4右對齊
eole.selection.VerticalAlignment = 2 && 垂直方向 1靠上 ,2居中,3靠下
eole.Range("A2:B2").select
eole.selection.MergeCells = .T. && 合併單元
eole.selection.HorizontalAlignment=2 && 水平方向 2左對齊,3居中,4右對齊
eole.selection.VerticalAlignment = 2 && 垂直方向 1靠上 ,2居中,3靠下
eole.Range("A5:M5").select
eole.Selection.Interior.ColorIndex = 34 && 設置行顏色為[淡蘭]
eole.ActiveSheet.Range("A1:BE29").NumberFormatLocal = ;
"_ * #,##0.00_ ; _ * -#,##0.00_ ;_ * "+"-"+"??_ ;_ @_ " && 指定區域內的數字顯示格式
3、打印頁面的設置 *********************************
eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035 && 設置頁眉到頂端邊距為2厘米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035 && 設置頁腳到底邊距為3厘米
eole.ActiveSheet.PageSetup.TopMargin=4/0.035 && 設置頂邊距為4厘米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035 && 設置底邊距為4厘米
eole.ActiveSheet.PageSetup.LeftMargin=2/0.035 && 設置左邊距為2厘米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035 && 設置右邊距為2厘米
eole.ActiveSheet.PageSetup.CenterHorizontally=.t. && 設置頁面水平居中
eole.ActiveSheet.PageSetup.CenterVertically=.t. && 設置頁面垂直居中
eole.ActiveSheet.PageSetup.PaperSize=8 && 設置頁面紙張大小
(1-窄行8 5 11 39-寬行14 11)
eole.ActiveSheet.PageSetup.Orientation=2 && 橫向
eole.ActiveSheet.PageSetup.PrintTitleRows="$1:$3" && 定義固定行
eole.ActiveSheet.PageSetup.PrintTitleColumns="$A:$C" && 定義固定列
eole.ActiveSheet.PageSetup.CenterHeader= "&14&BTMC" && 設置頁眉
eole.ActiveSheet.PageSetup.CenterFooter="表__第&P頁" && 設置頁腳
eole.Worksheets("Sheet1").Rows(18).PageBreak=1 && 在第18行之前插入分頁符
eole.ActiveSheet.Columns(4).PageBreak=0 && 在第4列之前刪除分頁符
eole.ActiveSheet.PageSetup.PrintGridlines=.t. && 打印單元格網線
eole.ActiveSheet.PrintPreview && 打印預覽工作表
eole.ActiveSheet.PrintOut && 打印輸出工作表
4、記錄條數的利用 *********************************
一般來講,EXCEL表的來源為DBF文件,列、行應該是可以預知的
USE 111
COUNT TO AAA
USE
FWQ = "A3:M"+ALLT(STR(AAA+?)) ?為EXCEL表插入的行數
eole.ActiveSheet.Range(FWQ).Borders(1).LineStyle=1 && 設置四個邊框線條的類型
eole.ActiveSheet.Range(FWQ).Borders(2).LineStyle=1 && 設置四個邊框線條的類型
eole.ActiveSheet.Range(FWQ).Borders(3).LineStyle=1 && 設置四個邊框線條的類型
eole.ActiveSheet.Range(FWQ).Borders(4).LineStyle=1 && 設置四個邊框線條的類型
5、VFP下直接調用EXCEL、WORD文件 *********************************
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING, ;
STRING lpszFile, STRING, STRING, INTEGER
operate= "open"
ShellExecute(0,operate,"C:\111.XLS",0,0,1) && EXCEL文件
ShellExecute(0,operate,"C:\111.DOC",0,0,1) && WORD文件
**************************************** _________________ 福隆昌淨水有限公司--淨水器的專家,淨水器,飲水機,濾心!!
想了解更多,您可上幸福雞湯組.找尋!!丁澐瑄.老師.
愛作夢 |
|
回頂端 |
|
|
cityhe4520
註冊時間: 2004-09-15 文章: 28
第 2 樓
|
發表於: 星期一 九月 20, 2004 6:02 pm 文章主題: |
|
|
你真是好好人 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1644
第 3 樓
|
發表於: 星期四 九月 30, 2004 4:25 pm 文章主題: |
|
|
請問這些屬性和方法,要看什麼書才能得到呢? |
|
回頂端 |
|
|
goto-dream
註冊時間: 2004-05-11 文章: 909
第 4 樓
|
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1644
第 5 樓
|
發表於: 星期四 九月 30, 2004 6:14 pm 文章主題: |
|
|
感謝指點,這就去買來研讀啦。 |
|
回頂端 |
|
|
KKKLYNN
註冊時間: 2004-09-17 文章: 357
第 6 樓
|
發表於: 星期四 一月 27, 2005 5:49 pm 文章主題: |
|
|
這功能已經哈很久!謝謝!剛剛已經測試完成!我會出資料都是xls,有時共用dbf,標頭就會產生文字意義不太對投遞問題產生!有了此功能我就可以輕易改善!再次謝謝啦! |
|
回頂端 |
|
|
小賴
註冊時間: 2004-12-27 文章: 470
第 7 樓
|
發表於: 星期四 一月 27, 2005 6:42 pm 文章主題: |
|
|
提供快速了解 Excel VBA 之方法
1. 利用Excel錄製巨集之功能將你要在Excel執行之指令進行錄製
工具 -> 巨集 -> (開始錄製)
2. 查看巨集內容之VBA程式碼
工具 -> 巨集 -> (開始研究VBA)
以上不傳偏方僅獻給有緣的狐友們 |
|
回頂端 |
|
|
ericchuang
註冊時間: 2007-11-15 文章: 10
第 8 樓
|
發表於: 星期四 十一月 15, 2007 1:47 pm 文章主題: |
|
|
小賴 寫到: | 提供快速了解 Excel VBA 之方法
1. 利用Excel錄製巨集之功能將你要在Excel執行之指令進行錄製
工具 -> 巨集 -> (開始錄製)
2. 查看巨集內容之VBA程式碼
工具 -> 巨集 -> (開始研究VBA)
以上不傳偏方僅獻給有緣的狐友們 |
小賴大,
這個方法真是不得了, 解開了我很多的疑問! 您真是高手中的高手啊! |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|