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

vfp 如何讀取已開啟的 excel

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



註冊時間: 2013-04-25
文章: 12


第 1 樓

發表發表於: 星期四 八月 17, 2017 2:44 pm    文章主題: vfp 如何讀取已開啟的 excel 引言回覆

vfp 如何讀取已開啟的 excel 資料
[ 已開啟的 ]
不是vfp 開的 [eole=CREATEOBJECT("Excel.application")]
[eole.Workbooks.open("C:\TESTVFP\TEST1.XLS")]
而是 user 自行已開啟的 excel
回頂端
檢視會員個人資料 發送私人訊息
goodnight



註冊時間: 2008-10-13
文章: 472
來自: 台南市

第 2 樓

發表發表於: 星期五 八月 18, 2017 11:11 am    文章主題: 引言回覆

我個人猜想的程序是, 先偵測看看, 檔案有沒有被開啟, 有的話, 直接切換到excel 就好
如果說是要讀取內容的話, 我就沒經驗了

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



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


第 3 樓

發表發表於: 星期五 八月 18, 2017 11:50 am    文章主題: 引言回覆

oExcel = GETOBJECT(, "Excel.Application")


TRY
oExcel = GETOBJECT(, "Excel.Application")
CATCH TO oError
IF oError.ErrorNo = 1426
oExcel = CREATEOBJECT("EXCEL.APPLICATION")
ENDIF
ENDTRY


oSheet = oExcel.ActiveSheet
oSheet.Cells(1, 1).Value = "自己試試看"
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
syntech



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

第 4 樓

發表發表於: 星期五 八月 18, 2017 11:53 am    文章主題: 引言回覆

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

請聯絡我們,也許我們幫得上忙


syntech 在 星期五 八月 18, 2017 4:48 pm 作了第 1 次修改
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
mainsoft



註冊時間: 2013-04-25
文章: 12


第 5 樓

發表發表於: 星期五 八月 18, 2017 2:09 pm    文章主題: 引言回覆

謝謝4樓
這是必須要解決的問題
!!!!!!!!!!!!
回頂端
檢視會員個人資料 發送私人訊息
syntech



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

第 6 樓

發表發表於: 星期五 八月 18, 2017 4:46 pm    文章主題: 引言回覆

我覺得這個問題基本上是"用vfp寫一個遊戲外掛程式"的等級. Orz

也就是你要先用 win32api findwindows 找出excel的 HWND,
再利用 WIN32API SENDMESSAGE 操作EXCEL,
用 WIN32API GETMESSAGE或WIN32 API PEEKMESSAGE 或其他函式取得資料,
但你也無法確定該從哪邊或如何取回你真正要的資料,

所以我覺得請使用者改好後,再由VFP重新開啟EXCEL檔比較簡單.



----
以前有個站友[行者孫]曾經做過這樣的程式,
不過他不是搞EXCEL這麼複雜的東西.
目前行者孫的BLOG好像已經掛了

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

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



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


第 7 樓

發表發表於: 星期五 八月 18, 2017 5:56 pm    文章主題: 引言回覆

oExcel = GETOBJECT(, "Excel.Application")
不就是取得開啟中的Excel物件
oSheet = oExcel.ActiveSheet
取的作用中的Sheet
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
ckp6250



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


第 8 樓

發表發表於: 星期五 八月 18, 2017 8:24 pm    文章主題: 引言回覆

我同意goodnight和syntech兩位大大的看法,
Excel畢竟較屬於單機作業,同時開啟不好控制,
若是我,會先偵測是否唯讀?用 fopen 去偵測,
若已被user開啟中,我就跳出訊息,看看要怎麼辦!
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
syntech



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

第 9 樓

發表發表於: 星期五 八月 18, 2017 10:31 pm    文章主題: 引言回覆

原來我看錯小賴兄的命令. <(_._)>
不過我沒試過GETOBJECT
不知道會發生什麼事. Very Happy Very Happy Very Happy

下次有機會再試試看.

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

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



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


第 10 樓

發表發表於: 星期六 八月 19, 2017 9:54 am    文章主題: 引言回覆

我也看錯了

原來還有小賴兄的這種方法,收錄下來
回頂端
檢視會員個人資料 發送私人訊息
mainsoft



註冊時間: 2013-04-25
文章: 12


第 11 樓

發表發表於: 星期六 八月 19, 2017 11:27 am    文章主題: 引言回覆

謝謝各樓的大大先進
這是個很耗時的問題
30年經驗也讓我頭痛
1.要取遠端機台的資料(機台是 PLC 生產機台)
2.機台不開放任何訊息及資料規格給你,只有一個RJ45 port
3.沒有技術規格給你
4.客戶只會vfp(所以限定用vfp)
5.限時要完工
6.PLC的資料是會隨機器動作而改變值
7.要把所有的數據變成DBF(隨機器動作而改變值)
8.為何要用DBF? 是為了他們要有自己的分析作業

重點來了,大部份我都做好了,就只差這個而已
回頂端
檢視會員個人資料 發送私人訊息
mainsoft



註冊時間: 2013-04-25
文章: 12


第 12 樓

發表發表於: 星期六 八月 19, 2017 11:39 am    文章主題: 引言回覆

謝謝 小賴兄 Very Happy
已測試ok
非常謝謝
5天大致可以了解了vfp,也可以用vfp做程式了, 其實vfp很好用,真的很好用
可以再問一個問題嗎?
excel 中有很多 Sheet
Laughing
要如何取指定的Sheet
回頂端
檢視會員個人資料 發送私人訊息
mainsoft



註冊時間: 2013-04-25
文章: 12


第 13 樓

發表發表於: 星期六 八月 19, 2017 11:44 am    文章主題: 引言回覆

哈哈!!!!!
已經都ok了
完工交差
收錢
謝謝各位啦
回頂端
檢視會員個人資料 發送私人訊息
goodnight



註冊時間: 2008-10-13
文章: 472
來自: 台南市

第 14 樓

發表發表於: 星期五 八月 25, 2017 10:13 am    文章主題: 引言回覆

mainsoft 寫到:
謝謝 小賴兄 Very Happy
已測試ok
非常謝謝
5天大致可以了解了vfp,也可以用vfp做程式了, 其實vfp很好用,真的很好用
可以再問一個問題嗎?
excel 中有很多 Sheet
Laughing
要如何取指定的Sheet


如果sheet名稱是固定的, 而且一定會存在, 就能直接指定, 不然就要先判斷 sheet 有沒有存在

例 sheet = oleExcel.Worksheets(SheetName)
應該是這樣

如果 vfp 可以繼續維護成新版的話, 會更好

_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 雅虎訊息通 MSN Messenger
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

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


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