上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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 |
|
回頂端 |
|
|
小賴
註冊時間: 2004-12-27 文章: 475
第 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 文章: 4225 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期五 八月 18, 2017 11:53 am 文章主題: |
|
|
勸樓主放棄這種想法. XD _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙
syntech 在 星期五 八月 18, 2017 4:48 pm 作了第 1 次修改 |
|
回頂端 |
|
|
mainsoft
註冊時間: 2013-04-25 文章: 12
第 5 樓
|
發表於: 星期五 八月 18, 2017 2:09 pm 文章主題: |
|
|
謝謝4樓
這是必須要解決的問題
!!!!!!!!!!!! |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: 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. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
小賴
註冊時間: 2004-12-27 文章: 475
第 7 樓
|
發表於: 星期五 八月 18, 2017 5:56 pm 文章主題: |
|
|
oExcel = GETOBJECT(, "Excel.Application")
不就是取得開啟中的Excel物件
oSheet = oExcel.ActiveSheet
取的作用中的Sheet |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1645
第 8 樓
|
發表於: 星期五 八月 18, 2017 8:24 pm 文章主題: |
|
|
我同意goodnight和syntech兩位大大的看法,
Excel畢竟較屬於單機作業,同時開啟不好控制,
若是我,會先偵測是否唯讀?用 fopen 去偵測,
若已被user開啟中,我就跳出訊息,看看要怎麼辦! |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 9 樓
|
發表於: 星期五 八月 18, 2017 10:31 pm 文章主題: |
|
|
原來我看錯小賴兄的命令. <(_._)>
不過我沒試過GETOBJECT
不知道會發生什麼事.
下次有機會再試試看. _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
215001
註冊時間: 2003-06-11 文章: 391
第 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 文章主題: |
|
|
謝謝 小賴兄
已測試ok
非常謝謝
5天大致可以了解了vfp,也可以用vfp做程式了, 其實vfp很好用,真的很好用
可以再問一個問題嗎?
excel 中有很多 Sheet
要如何取指定的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 寫到: | 謝謝 小賴兄
已測試ok
非常謝謝
5天大致可以了解了vfp,也可以用vfp做程式了, 其實vfp很好用,真的很好用
可以再問一個問題嗎?
excel 中有很多 Sheet
要如何取指定的Sheet |
如果sheet名稱是固定的, 而且一定會存在, 就能直接指定, 不然就要先判斷 sheet 有沒有存在
例 sheet = oleExcel.Worksheets(SheetName)
應該是這樣
如果 vfp 可以繼續維護成新版的話, 會更好 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
|
|