VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

新編 VFP 控制 EXCEL 的方法(轉貼)

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
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
文章: 1548


第 3 樓

發表發表於: 星期四 九月 30, 2004 4:25 pm    文章主題: 引言回覆

請問這些屬性和方法,要看什麼書才能得到呢?
回頂端
檢視會員個人資料 發送私人訊息
goto-dream



註冊時間: 2004-05-11
文章: 909


第 4 樓

發表發表於: 星期四 九月 30, 2004 5:24 pm    文章主題: 引言回覆

Excel VBA Help.
有關飯粒書籍到常用VFP書籍下載吧~~

_________________
福隆昌淨水有限公司--淨水器的專家,淨水器,飲水機,濾心!!

想了解更多,您可上幸福雞湯組.找尋!!丁澐瑄.老師.

          愛作夢
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
ckp6250



註冊時間: 2004-07-30
文章: 1548


第 5 樓

發表發表於: 星期四 九月 30, 2004 6:14 pm    文章主題: 引言回覆

感謝指點,這就去買來研讀啦。
回頂端
檢視會員個人資料 發送私人訊息
KKKLYNN



註冊時間: 2004-09-17
文章: 357


第 6 樓

發表發表於: 星期四 一月 27, 2005 5:49 pm    文章主題: 引言回覆

這功能已經哈很久!謝謝!剛剛已經測試完成!我會出資料都是xls,有時共用dbf,標頭就會產生文字意義不太對投遞問題產生!有了此功能我就可以輕易改善!再次謝謝啦!
回頂端
檢視會員個人資料 發送私人訊息
小賴



註冊時間: 2004-12-27
文章: 435


第 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)

以上不傳偏方僅獻給有緣的狐友們



小賴大,
這個方法真是不得了, 解開了我很多的疑問! 您真是高手中的高手啊! Very Happy
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作