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

請教VFP去控制EXCEL一個小細節

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



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


第 1 樓

發表發表於: 星期日 八月 09, 2015 1:29 am    文章主題: 請教VFP去控制EXCEL一個小細節 引言回覆

請教各位高手!
我用VFP算出一個表後輸出成EXCEL格式(n.xls)要做書面報告!但是第一排欄位名稱想用程式把它小改!利用下面簡單語法改成(n1.xls)
NY="104"
Y=VAL(NY)
HALF="下"
OHALF="上"
NNY=PADL(ALLTRIM(STR(Y-1)),3,'0')
NNNY=PADL(ALLTRIM(STR(Y-2)),3,'0')
P1=NNY+OHALF
P2=NNY+HALF
P3=NNNY+OHALF
OLE=CREATEOBJECT("EXCEL.APPLICATION")
OLE.VISIBLE=.T.
OLE.WORKBOOKS.OPEN("D:\DENT_TB\A904\OD3\N.XLS")
OLE.RANGE('A1').VALUE='件數排名'
OLE.RANGE('C1').VALUE='總數'
OLE.RANGE('D1').VALUE='"&P1"排名'
OLE.RANGE('E1').VALUE='"&P2"排名'
OLE.RANGE('F1').VALUE='"&P3"排名'
OLE.ACTIVEWORKBOOK.SAVE
OLE.WORKBOOKS.CLOSE
OLE.QUIT
RELEASE OLE
QUIT
------------------------------------------------------------------
只是在D1,E1,F1都會有雙引號呈現!不知道有沒有辦法去掉
回頂端
檢視會員個人資料 發送私人訊息
sthuang66



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


第 2 樓

發表發表於: 星期日 八月 09, 2015 1:39 am    文章主題: 引言回覆

大家若是懶得看XLS檔
我把N.XLS第一行列出
(件數排名) (ID) (總數) (p1_rank) (p2_rank)(p3_rank)
(p1_rank) (p2_rank)(p3_rank)三個用程式改變後成為
N1.XLS第一行列出
件數排名 id 總數 "103下"排名 "103上"排名 "102下"排名
_____________________________________________
會有""產生
如果我程式中OLE.RANGE('D1').VALUE='"&P1"排名'
把雙號去掉時它就完全不取代直接秀P1排名
也不能用'"+NNY+""+OHALF"排名----->這是vfp語法!excel不理
回頂端
檢視會員個人資料 發送私人訊息
sthuang66



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


第 3 樓

發表發表於: 星期日 八月 09, 2015 1:40 am    文章主題: 引言回覆

大家若是懶得看XLS檔
我把N.XLS第一行列出
(件數排名) (ID) (總數) (p1_rank) (p2_rank)(p3_rank)
(p1_rank) (p2_rank)(p3_rank)三個用程式改變後成為
N1.XLS第一行列出
件數排名 id 總數 "103下"排名 "103上"排名 "102下"排名
_____________________________________________
會有""產生
如果我程式中OLE.RANGE('D1').VALUE='"&P1"排名'
把雙號去掉時它就完全不取代直接秀P1排名
也不能用'"+NNY+""+OHALF"排名----->這是vfp語法!excel不理
回頂端
檢視會員個人資料 發送私人訊息
perry



註冊時間: 2014-07-20
文章: 203


第 4 樓

發表發表於: 星期日 八月 09, 2015 7:56 am    文章主題: 引言回覆

OLE.RANGE('D1').VALUE='"'+P1+'"排名' &&把雙引號拆開,P1本身就是字串!!
回頂端
檢視會員個人資料 發送私人訊息
sthuang66



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


第 5 樓

發表發表於: 星期日 八月 09, 2015 2:56 pm    文章主題: 引言回覆

OLE.RANGE('D1').VALUE='+p1+排名' 這樣出來是
+p1+排名 並沒有帶入我預定要的字串
OLE.RANGE('D1').VALUE='"+P1+"排名' 這樣出來是
"+P1+"排名 並沒有帶入我預定要的字串
OLE.RANGE('D1').VALUE='"'+P1+'"排名'
用完和我用'"&P1"排名一樣 帶入後"103下"排名 103下兩邊會有" "

有什麼敘述可以 帶入後是 103下排名 沒有雙引號
回頂端
檢視會員個人資料 發送私人訊息
perry



註冊時間: 2014-07-20
文章: 203


第 6 樓

發表發表於: 星期日 八月 09, 2015 3:48 pm    文章主題: 引言回覆

還以為您要雙引號...
不就單純的字串相加
"'"+p1+'排名' && "'" 儲存格第1個字元是單引號代表以字串處理!!
別想的太複雜,VFP 先運算處理後才會丟到excel儲存格.
回頂端
檢視會員個人資料 發送私人訊息
sthuang66



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


第 7 樓

發表發表於: 星期日 八月 09, 2015 5:34 pm    文章主題: 引言回覆

謝謝回答!試過 正如我要!

可以請教 && 的意義!!我試過不加會錯誤

根據perry方法我更改
OLE.RANGE('D1').VALUE=""+p1+"排名"也可以了


sthuang66 在 星期日 八月 09, 2015 5:55 pm 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息
perry



註冊時間: 2014-07-20
文章: 203


第 8 樓

發表發表於: 星期日 八月 09, 2015 5:48 pm    文章主題: 引言回覆

&& ->只是在指令運算式之後備註說明用的指令
寫習慣就順手寫上,抱歉抱歉!!您只要用下面這樣就好.
OLE.RANGE('D1').VALUE="'"+p1+'排名'
回頂端
檢視會員個人資料 發送私人訊息
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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