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

請教VFP9.0控制EXCEL剪貼時產生的錯誤訊息!!麻煩各位高手指點!!!

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
sthuang66



註冊時間: 2014-04-27
文章: 161


第 1 樓

發表發表於: 星期日 一月 23, 2022 2:14 am    文章主題: 請教VFP9.0控制EXCEL剪貼時產生的錯誤訊息!!麻煩各位高手指點!!! 引言回覆

我有A2.dbf,b2.dbf,c2.dbf,d2.dbf 四個檔!要計算其中每個DBF中的'99百分位'
'95百分位','90百分位','75百分位','50百分位','25百分位' 然後將內容併在一個EXCEL檔案中!!! 我的筆電EXCE版本是office 2019!我以下的程序碼在筆電都不會有問題!!但是公司EXCEL是2010執行到粗體字那一行時就會有附件圖的錯誤訊息!!!奇怪的是我若選擇Ignore選項時,第一個DBF檔轉成XLSX的百分位內容不會貼入!!但是其他不分卻會繼續執行按照我寫的逐一填入新的XLSX中!!讓我完全摸不出頭緒!!明明所有剪下貼上的程序都一樣,為何第一個檔會認不到!後面可以!!下面是我的程序碼
------------------------------------------------------------------------
OLE=CREATEOBJECT("EXCEL.APPLICATION")
OLE.VISIBLE=.T.


USE A2.DBF
RE='B'+ALLTRIM(STR(RECCOUNT()+1))
USE
OLE.WORKBOOKS.OPEN(""+PATH+"A2.XLS")
OLE.ACTIVEWORKBOOK.SAVEAS(""+PATH+"A2.XLSX",51)
OLE.WORKBOOKS.OPEN(""+PATH+"A2.XLSX")
OLE.RANGE('D1').VALUE='=PERCENTILE.INC($B$2:&RE,0.99)'
OLE.RANGE('E1').VALUE='=PERCENTILE.INC($B$2:&RE,0.95)'
OLE.RANGE('F1').VALUE='=PERCENTILE.INC($B$2:&RE,0.90)'
OLE.RANGE('G1').VALUE='=PERCENTILE.INC($B$2:&RE,0.75)'
OLE.RANGE('H1').VALUE='=PERCENTILE.INC($B$2:&RE,0.50)'
OLE.RANGE('I1').VALUE='=PERCENTILE.INC($B$2:&RE,0.25)'
OLE.ACTIVEWORKBOOK.SAVE
OLE.WORKBOOKS.CLOSE

USE D2.DBF
RE1='B'+ALLTRIM(STR(RECCOUNT()+1))
USE
OLE.WORKBOOKS.OPEN(""+PATH+"D2.XLS")
OLE.ACTIVEWORKBOOK.SAVEAS(""+PATH+"D2.XLSX",51)
OLE.WORKBOOKS.OPEN(""+PATH+"D2.XLSX")
OLE.RANGE('D1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.99)'
OLE.RANGE('E1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.95)'
OLE.RANGE('F1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.90)'
OLE.RANGE('G1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.75)'
OLE.RANGE('H1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.50)'
OLE.RANGE('I1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.25)'
OLE.ACTIVEWORKBOOK.SAVE
OLE.WORKBOOKS.CLOSE

USE C2.DBF
RE2='B'+ALLTRIM(STR(RECCOUNT()+1))
USE
OLE.WORKBOOKS.OPEN(""+PATH+"C2.XLS")
OLE.ACTIVEWORKBOOK.SAVEAS(""+PATH+"C2.XLSX",51)
OLE.WORKBOOKS.OPEN(""+PATH+"C2.XLSX")
OLE.RANGE('D1').VALUE='=PERCENTILE.INC($B$2:&RE2,0.99)'
OLE.RANGE('E1').VALUE='=PERCENTILE.INC($B$2:&RE2,0.95)'
OLE.RANGE('F1').VALUE='=PERCENTILE.INC($B$2:&RE2,0.90)'
OLE.RANGE('G1').VALUE='=PERCENTILE.INC($B$2:&RE2,0.75)'
OLE.RANGE('H1').VALUE='=PERCENTILE.INC($B$2:&RE2,0.50)'
OLE.RANGE('I1').VALUE='=PERCENTILE.INC($B$2:&RE2,0.25)'
OLE.ACTIVEWORKBOOK.SAVE
OLE.WORKBOOKS.CLOSE

USE B2.DBF
RE1='B'+ALLTRIM(STR(RECCOUNT()+1))
USE
OLE.WORKBOOKS.OPEN(""+PATH+"B2.XLS")
OLE.ACTIVEWORKBOOK.SAVEAS(""+PATH+"B2.XLSX",51)
OLE.WORKBOOKS.OPEN(""+PATH+"B2.XLSX")
OLE.RANGE('D1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.99)'
OLE.RANGE('E1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.95)'
OLE.RANGE('F1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.90)'
OLE.RANGE('G1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.75)'
OLE.RANGE('H1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.50)'
OLE.RANGE('I1').VALUE='=PERCENTILE.INC($B$2:&RE1,0.25)'
OLE.ACTIVEWORKBOOK.SAVE
OLE.WORKBOOKS.CLOSE

OLE.WORKBOOKS.ADD
OLE.RANGE('A2').VALUE=""+NYS+""
OLE.RANGE('A3').VALUE=""+NYS1+""
OLE.RANGE('A4').VALUE=""+NYS2+""
OLE.RANGE('A5').VALUE=""+NYS3+""
OLE.RANGE('B1').VALUE='99百分位'
OLE.RANGE('C1').VALUE='95百分位'
OLE.RANGE('D1').VALUE='90百分位'
OLE.RANGE('E1').VALUE='75百分位'
OLE.RANGE('F1').VALUE='50百分位'
OLE.RANGE('G1').VALUE='25百分位'

O = OLE.ACTIVESHEET
BB = O.RANGE("A:A","G:G")
WITH BB
.SELECT
.COLUMNWIDTH = 12
.FONT.NAME = "新細明體"
.FONT.FONTSTYLE = "標準"
.FONT.SIZE = 12
ENDWITH
OLE.ACTIVESHEET.RANGE("A:A","G:G").HORIZONTALALIGNMENT=3
OLE.ACTIVEWORKBOOK.SAVEAS(""+PATH+"Z2.XLSX",51)

OLE.WORKBOOKS.OPEN(""+PATH+"A2.XLSX")
OLE.ACTIVESHEET.RANGE("D1:I1").SELECT
OLE.SELECTION.COPY
OLE.WORKBOOKS.OPEN(""+PATH+"Z2.XLSX")
OLE.ACTIVESHEET.RANGE("B2:G2").SELECT
OLE.SELECTION.PASTESPECIAL(-4163,-4142,.F.,.F.)
OLE.ACTIVEWORKBOOK.SAVE
OLE.WORKBOOKS.CLOSE

OLE.WORKBOOKS.OPEN(""+PATH+"D2.XLSX")
OLE.ACTIVESHEET.RANGE("D1:I1").SELECT
OLE.SELECTION.COPY
OLE.WORKBOOKS.OPEN(""+PATH+"Z2.XLSX")
OLE.ACTIVESHEET.RANGE("B3:G3").SELECT
OLE.SELECTION.PASTESPECIAL(-4163,-4142,.F.,.F.)
OLE.ACTIVEWORKBOOK.SAVE
OLE.WORKBOOKS.CLOSE

OLE.WORKBOOKS.OPEN(""+PATH+"C2.XLSX")
OLE.ACTIVESHEET.RANGE("D1:I1").SELECT
OLE.SELECTION.COPY
OLE.WORKBOOKS.OPEN(""+PATH+"Z2.XLSX")
OLE.ACTIVESHEET.RANGE("B4:G4").SELECT
OLE.SELECTION.PASTESPECIAL(-4163,-4142,.F.,.F.)
OLE.ACTIVEWORKBOOK.SAVE
OLE.WORKBOOKS.CLOSE
OLE.WORKBOOKS.OPEN(""+PATH+"B2.XLSX")
OLE.ACTIVESHEET.RANGE("D1:I1").SELECT
OLE.SELECTION.COPY
OLE.WORKBOOKS.OPEN(""+PATH+"Z2.XLSX")
OLE.ACTIVESHEET.RANGE("B5:G5").SELECT
OLE.SELECTION.PASTESPECIAL(-4163,-4142,.F.,.F.)
OLE.ACTIVEWORKBOOK.SAVE
OLE.WORKBOOKS.CLOSE
OLE.QUIT
RELEASE OLE
RETURN
回頂端
檢視會員個人資料 發送私人訊息
CPS0204



註冊時間: 2014-08-24
文章: 336


第 2 樓

發表發表於: 星期日 一月 23, 2022 6:27 pm    文章主題: 引言回覆

office版本改用2010看看,相容性高
32位元為佳
回頂端
檢視會員個人資料 發送私人訊息
sthuang66



註冊時間: 2014-04-27
文章: 161


第 3 樓

發表發表於: 星期日 一月 23, 2022 8:56 pm    文章主題: 引言回覆

上面代碼在2010會出現錯誤訊息!!! 2019則不會
回頂端
檢視會員個人資料 發送私人訊息
syntech



註冊時間: 2003-05-16
文章: 4070
來自: Taipei,Taiwan

第 4 樓

發表發表於: 星期日 一月 23, 2022 10:55 pm    文章主題: 引言回覆

版本不同,指令會出錯,
對M$來說,這不是很正常嗎?

VFP 不就也是這樣

XD


順便說一下,
我的VM庫裡有 OFFICE 95 ~ OFFICE 2021
方便測試每一種EXCEL 反應
還有所有的M$ SQL SERVER,
所有的M$ 個人OS,
所有的M$ 標準版SERVER OS
.
.
.
.
.

Twisted Evil Twisted Evil Twisted Evil Twisted Evil

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
215001



註冊時間: 2003-06-11
文章: 366


第 5 樓

發表發表於: 星期一 一月 24, 2022 9:32 am    文章主題: 引言回覆

錯誤訊息好像是說下面這一列的問題,檢查一下屬性, 51

OLE.ACTIVEWORKBOOK.SAVEAS(""+PATH+"Z2.XLSX",51)
回頂端
檢視會員個人資料 發送私人訊息
sthuang66



註冊時間: 2014-04-27
文章: 161


第 6 樓

發表發表於: 星期一 一月 24, 2022 11:22 pm    文章主題: 引言回覆

謝謝syntech大,215001大 的提醒!!
我試試在報告
回頂端
檢視會員個人資料 發送私人訊息
sthuang66



註冊時間: 2014-04-27
文章: 161


第 7 樓

發表發表於: 星期五 三月 25, 2022 2:19 am    文章主題: 引言回覆

我試完結果是excel版本的問題
我在家裡舊的excel2007發現PERCENTILE.INC函數是無法用的!!只能用PERCENTILE
我函數改成PERCENTILE就可以正常了!!

PERCENTILE.INC在excel 2019或2016則正常

謝謝大家的指導
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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