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

請問如何可以在匯出的excel中設定excel的公式?
前往頁面 上一頁  1, 2
 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 16 樓

發表發表於: 星期六 四月 17, 2004 1:12 am    文章主題: 引言回覆

把相關檔案傳上來吧,你有很多地方的寫法有問題,等你檔案傳上來後,我會將相關的使用方式寫在檔案中給你參考,否則會被你問個沒完沒了。
_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
personmen



註冊時間: 2003-09-22
文章: 45


第 17 樓

發表發表於: 星期日 四月 18, 2004 12:13 pm    文章主題: 引言回覆

真可勢...
^^|||


***將DBF檔轉存成EXCEL檔 93.04.14 BY PERSON MEN
SELECT MOD_CHK
COPY TO 'C:\RAW_RPT\MOD_CHK.XLS' TYPE XL5

***載入EXCEL檔案 93.04.16 BY PERSON MEN
M_cXLSFile = 'C:\RAW_RPT\MOD_CHK.XLS'
M_oExcelSheet = GETOBJECT('',"EXCEL.SHEET")
__oApplicationOfWorkSheet = M_oExcelSheet.APPLICATION
__oApplicationOfWorkSheet.WORKBOOKS.OPEN(M_cXLSFile)
***填入EXCEL公式 93.04.16 BY PERSON MEN
WITH __oApplicationOfWorkSheet
***DIFF_QTY
WITH .Sheets("MOD_CHK")
***填入 DIFF_QTY 公式
.CELLS(2,11).Value = "=J2-G2"
***複製上述公式
.Range("K2").Copy
***選擇所要帶入公之資料
.Range("K3:K" + LTRIM(STR(RECCOUNT() + 1))).Select
ENDWITH
***貼上
.ActiveSheet.Paste
***STAY_QTY
WITH .Sheets("MOD_CHK")
***填入 STAY_QTY 公式
.CELLS(2,12).Value = "=K2/H2*100"
***複製上述公式
.Range("L2").Copy
***選擇所要帶入公之資料
.Range("L3:L" + LTRIM(STR(RECCOUNT() + 1))).Select
ENDWITH
***貼上
.ActiveSheet.Paste
***全選
.Cells.Select
***調整最適欄寬
.Cells.EntireColumn.AutoFit
***選擇A1儲存格以取消全選範圍
.Range("A1").Select

.ActiveSheet.PageSetup.PrintTitleRows = ""
.ActiveSheet.PageSetup.PrintTitleColumns = ""
.ActiveSheet.PageSetup.PrintArea = ""
.ActiveSheet.PageSetup.LeftHeader = ""
.ActiveSheet.PageSetup.CenterHeader = "表"
.ActiveSheet.PageSetup.RightHeader = ""
.ActiveSheet.PageSetup.LeftFooter = ""
.ActiveSheet.PageSetup.CenterFooter = ""
.ActiveSheet.PageSetup.RightFooter = ""
.ActiveSheet.PageSetup.LeftMargin = Application.InchesToPoints(0.393700787401575)
.ActiveSheet.PageSetup.RightMargin = Application.InchesToPoints(0.393700787401575)
.ActiveSheet.PageSetup.TopMargin = Application.InchesToPoints(0.393700787401575)
.ActiveSheet.PageSetup.BottomMargin = Application.InchesToPoints(0.393700787401575)
.ActiveSheet.PageSetup.HeaderMargin = Application.InchesToPoints(0.393700787401575)
.ActiveSheet.PageSetup.FooterMargin = Application.InchesToPoints(0.393700787401575)
WAIT WINDOW 'footermargin'

.ActiveSheet.PageSetup.PrintHeadings = False
.ActiveSheet.PageSetup.PrintGridlines = False
.ActiveSheet.PageSetup.PrintComments = xlPrintNoComments
.ActiveSheet.PageSetup.PrintQuality = 600
.ActiveSheet.PageSetup.CenterHorizontally = False
.ActiveSheet.PageSetup.CenterVertically = False
.ActiveSheet.PageSetup.Orientation = xlPortrait
.ActiveSheet.PageSetup.Draft = False
.ActiveSheet.PageSetup.PaperSize = xlPaperA4
.ActiveSheet.PageSetup.FirstPageNumber = xlAutomatic
.ActiveSheet.PageSetup.Order = xlDownThenOver
.ActiveSheet.PageSetup.BlackAndWhite = False
.ActiveSheet.PageSetup.Zoom = False
.ActiveSheet.PageSetup.FitToPagesWide = 1
.ActiveSheet.PageSetup.FitToPagesTall = 1



ENDWITH
***判斷該物件變數是否存在
IF VARTYPE(__oApplicationOfWorkSheet) = "O"
***判斷該物是否存在
IF !ISNULL(__oApplicationOfWorkSheet)
***關閉下一句儲存檔案時 EXCEL 會出出現詢問視窗
__oApplicationOfWorkSheet.Application.DisplayAlerts = .F.
***儲存檔案
__oApplicationOfWorkSheet.ActiveWindow.Close(.T.,M_cXLSFile)
***恢復
__oApplicationOfWorkSheet.Application.DisplayAlerts = .T.
ENDIF
ENDIF
***開啟EXCEL檔案
L_EXCEL = CreateObject('Excel.Application')
L_EXCEL.WorkBooks.Open('C:\RAW_RPT\MOD_CHK.XLS',0)
L_EXCEL.VISIBLE=.T.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 18 樓

發表發表於: 星期一 四月 19, 2004 2:14 am    文章主題: 引言回覆

代碼:
***將DBF檔轉存成EXCEL檔 93.04.14 BY PERSON MEN
SELECT MOD_CHK
COPY TO 'C:\RAW_RPT\MOD_CHK.XLS' TYPE XL5

***載入EXCEL檔案 93.04.16 BY PERSON MEN
M_cXLSFile = 'C:\RAW_RPT\MOD_CHK.XLS'
M_oExcelSheet = GETOBJECT('',"EXCEL.SHEET")
__oApplicationOfWorkSheet = M_oExcelSheet.APPLICATION
__oApplicationOfWorkSheet.WORKBOOKS.OPEN(M_cXLSFile)

***填入EXCEL公式 93.04.16 BY PERSON MEN
WITH __oApplicationOfWorkSheet
  ***DIFF_QTY
  WITH .Sheets("MOD_CHK")
    ***填入 DIFF_QTY 公式
    .CELLS(2,11).Value = "=J2-G2"
    ***複製上述公式
    .Range("K2").Copy
    ***選擇所要帶入公之資料
    .Range("K3:K"+LTRIM(STR(RECCOUNT()+1))).Select
  ENDWITH
  ***貼上
  .ActiveSheet.Paste
  ***STAY_QTY
  WITH .Sheets("MOD_CHK")
    ***填入 STAY_QTY 公式
    .CELLS(2,12).Value = "=K2/H2*100"
    ***複製上述公式
    .Range("L2").Copy
    ***選擇所要帶入公之資料
    .Range("L3:L" + LTRIM(STR(RECCOUNT() + 1))).Select
  ENDWITH
  ***貼上
  .ActiveSheet.Paste
  ***全選
  .Cells.Select
  ***調整最適欄寬
  .Cells.EntireColumn.AutoFit
  ***選擇A1儲存格以取消全選範圍
  .Range("A1").Select
  WITH .ActiveSheet.PageSetup
    .PrintTitleRows     = ""
    .PrintTitleColumns  = ""
    .PrintArea          = ""
    .LeftHeader         = ""
    .CenterHeader       = "表"
    .RightHeader        = ""
    .LeftFooter         = ""
    .CenterFooter       = ""
    .RightFooter        = ""
    .LeftMargin         = __oApplicationOfWorkSheet.InchesToPoints(0.393700787401575)
    .RightMargin        = __oApplicationOfWorkSheet.InchesToPoints(0.393700787401575)
    .TopMargin          = __oApplicationOfWorkSheet.InchesToPoints(0.393700787401575)
    .BottomMargin       = __oApplicationOfWorkSheet.InchesToPoints(0.393700787401575)
    .HeaderMargin       = __oApplicationOfWorkSheet.InchesToPoints(0.393700787401575)
    .FooterMargin       = __oApplicationOfWorkSheet.InchesToPoints(0.393700787401575)

    .PrintHeadings      = .F.
    .PrintGridlines     = .F.
    .PrintComments      = -4142
    .PrintQuality       = 600
    .CenterHorizontally = .F.
    .CenterVertically   = .F.
    .Orientation        = 1
    .Draft              = .F.
    .PaperSize          = 9
    .FirstPageNumber    = -4150
    .Order              = 1
    .BlackAndWhite      = .F.
    .Zoom               = .F.
    .FitToPagesWide     = 1
    .FitToPagesTall     = 1
  ENDWITH
ENDWITH

***判斷該物件變數是否存在
IF VARTYPE(__oApplicationOfWorkSheet) = "O"
  ***判斷該物是否存在
  IF !ISNULL(__oApplicationOfWorkSheet)
    ***關閉下一句儲存檔案時 EXCEL 會出出?#123;詢問視窗
    __oApplicationOfWorkSheet.Application.DisplayAlerts = .F.
    ***儲存檔案
    __oApplicationOfWorkSheet.ActiveWindow.Close(.T.,M_cXLSFile)
    ***恢復
    __oApplicationOfWorkSheet.Application.DisplayAlerts = .T.
  ENDIF
ENDIF

***?#125;啟EXCEL檔案
L_EXCEL = CreateObject('Excel.Application')
L_EXCEL.WorkBooks.Open('C:\RAW_RPT\MOD_CHK.XLS',0)
L_EXCEL.VISIBLE=.T.

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ


朱育興 在 星期一 四月 19, 2004 1:47 pm 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
personmen



註冊時間: 2003-09-22
文章: 45


第 19 樓

發表發表於: 星期一 四月 19, 2004 9:23 am    文章主題: 引言回覆

不好意思, 再多請教一個問題...
若我要設定字體(字型, 大小...)的話, 語法是如何呢?
因為我從巨集那COPY出來的東西, VFP沒法直接用...
感謝~
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 20 樓

發表發表於: 星期一 四月 19, 2004 9:29 am    文章主題: 引言回覆

我本來在上面改寫的代碼之下要寫下說明,但當時本論壇當掉,來不及把說明貼上,現在把說明貼上,希望你看得懂!



你在 EXCEL 中錄製的巨集,其 VBA 的程式碼不能亂套用到 FoxPro 中,在 VBA 中的 FALSE -> VFP 中的 .F.,其它在 VBA 中以 xl 開頭的,它是 VBA 的常數變數,它們在 VFP 中當然是不存在的,你要利用 VBA 的「即時運算」視窗,在該視窗中輸入程式碼來觀察這些常數變數的實際值到底是多少。

例如:(下列都是在「即時運算」視窗中下指令的)
1. 輸入

Worksheets(1).PageSetup.PrintComments = xlPrintNoComments

後按 Enter

2.接著輸入

? Worksheets(1).PageSetup.PrintComments

後按 Enter,此時在 ? Worksheets(1).PageSetup.PrintComments 的下一行出現 -4142。這樣我們就知道 xlPrintNoComments 這個常數變數的實際值為 -4142。

其他的就以此類推...


最後 APPLICATION.xxx 系列不要亂用,物件之間的上下層關係不要搞亂了。

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
personmen



註冊時間: 2003-09-22
文章: 45


第 21 樓

發表發表於: 星期一 四月 19, 2004 12:13 pm    文章主題: 引言回覆

嗯, 瞭解了~
感謝您~
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
goto-dream



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


第 22 樓

發表發表於: 星期四 七月 15, 2004 6:32 pm    文章主題: 引言回覆

K一下文章....再來發問.可得到更多收穫.

VFP與Excel交互編程(轉貼)

http://vfp.sunyear.com.tw/viewtopic.php?t=1098&highlight=excel

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

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

          愛作夢
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
前往頁面 上一頁  1, 2
2頁(共2頁)

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


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