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

啪謝 oIE = Createobject("internetexplorer.application") 有幾行搞不定

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



註冊時間: 2007-01-03
文章: 228
來自: 台北市

第 1 樓

發表發表於: 星期六 三月 22, 2025 6:51 pm    文章主題: 啪謝 oIE = Createobject("internetexplorer.application") 有幾行搞不定 引言回覆

請教各位先進 這是旅行社 財政部 電子式代收轉付收據 開立平台 因有 帳號&密碼 的問題在此不方便提示

這是開立平台 VFP
oIE = Createobject("internetexplorer.application") &&& I_E 11

oIE.Document.GetElementByid("CustomNum").VALUE = "041" &&& *自訂編號:> OK
oIE.Document.GetElementByid("SellerName").VALUE = TRIM(M->INV_SAL) &&& *經手人 > OK
.
.
. 都可以 但到了 摘要 單價 金額 這裡 後學 黔驢技窮 沒步了 有請各位先進指教
程式碼在附加檔內


<div class="item_group" id="item_single">
<table width="100%" class="table table-bordered bank_table no_hover" border="0" cellspacing="0" cellpadding="0">
<thead>
<tr align="center">
<td class="req_mark_red">摘要</td>
<td class="req_mark_red">數量</td>
<td class="req_mark_red">單價</td>
<td class="req_mark_red">單位</td>
<td class="req_mark_red">金額</td>
<td>處理</td>
</tr>
</thead>
<input class="count_row" type="hidden" value="7">
<tbody class="trno">
<tr>
<td>
<input name="ItemName[]" class="create_data encode_ItemName" type="hidden">
<input class="sg_input item form-control input-sm summary_div encode_summary reset_data" type="text" maxlength="160" placeholder="摘要">
</td>
<td><input name="ItemCount[]" class=" sg_input count usePlus txtCount form-control input-sm create_data" onkeyup="value = value.replace(/[^-_0-9]/g, '')" type="text" maxlength="5" placeholder="數量"></td>
<td><input name="ItemPrice[]" class=" sg_input price usePlus txtPrice form-control input-sm create_data" onkeyup="value = value.replace(/[^-_0-9]/g, '')" type="text" maxlength="8" placeholder="單價"></td>
<td><input name="ItemUnit[]" class="sg_input txtunit form-control form-control input-sm create_data" type="text" maxlength="2" placeholder="單位"></td>
<td><input name="ItemAmt[]" class="sg_input total txtTotal form-control input-sm create_data" type="number" readonly="readonly"></td>
<td class="add_row">
<button disabled="" class="btn btn-primary btn-xs" id="addrows" type="button">新增一列</button>
</td>
</tr>


相同的程式碼 程式碼在附加檔內


<table width="100%" class="table table-bordered bank_table no_hover" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="right" class="active">備註:(限50字)</td>
<td colspan="3">
<div class="textarea_div">
<input name="Comment" class="create_data encode_Comment" type="hidden">
<textarea class="form-control auto_count reset_data" id="InvoiceRemark" maxlength="50">543453453453
12445451
4424
424243241324</textarea>
</div>
<div class="textarea_tips">
<div>備註欄輸入規則</div>
<div>為確保備註欄在列印時得以完整呈現,請注意以下規則</div>
<div>1.備註欄位共可接受50個字 (中、英、數與特殊符號、換行均算一個字)</div>
<div>2.每輸入10個字,系統將會自動換行</div>
<div>3.若有特殊呈現需求,也可以使用 Enter 鍵換行,但換行也算一個字</div>
<div>4.最多接受共五行文字,若超過五行將會導致列印時版面異常</div>
<!-- <div>5.由於主管機關規定,備註欄無法於開立後修改,僅得作廢重開</div>-->
</div>
</td>
</tr>
<tr>
<td align="right" class="active req_mark_red">總計:</td>
<td><input name="TotalAmt" class="form-control input-sm txtTotalAmount auto_count create_data" type="text" readonly="readonly"></td>
</tr>
</tbody>
</table>
</div>

謝謝
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
iswith



註冊時間: 2022-11-04
文章: 93


第 2 樓

發表發表於: 星期二 三月 25, 2025 11:38 am    文章主題: 引言回覆

你可能需要多看看WebView2在Css,H5,vue上的表现。。。。。毕竟IE还是挺多不支持的语法。
回頂端
檢視會員個人資料 發送私人訊息
garfield
Site Admin


註冊時間: 2003-01-30
文章: 2160


第 3 樓

發表發表於: 星期二 三月 25, 2025 4:00 pm    文章主題: 引言回覆

其實你可以去問問 chatGPT 或 Copilot也行,
老人要善用新工具才輕鬆.
不要再用ie 了, 改用控制chrome才能去除很多限制.
不能說太多, 不然太多人寫出搶票程式, 那一般人怎麼辦.

_________________
利用>>搜尋<<的功能會比問的還要快得到答案.
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件
CPS0204



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


第 4 樓

發表發表於: 星期二 三月 25, 2025 4:19 pm    文章主題: 引言回覆

問了gpt 回復如下:
你目前使用 VFP (CreateObject("InternetExplorer.Application")) 操作 IE 的自動化,在填入欄位像「摘要」「單價」「金額」時遇到困難。這些欄位是屬於「多筆資料輸入欄位」,通常是陣列 [] 命名的 <input>,不像 id 那樣能直接 .getElementById() 取用。
✅ 解法:請改用 getElementsByName() + 陣列索引
以下是如何操作「摘要」「數量」「單價」「單位」這些欄位的範例程式碼:
vfp
複製編輯
*!* 開 IE 並進入目標頁面後
oIE = CreateObject("InternetExplorer.Application")
oIE.Visible = .T.
oIE.Navigate("https://你的目標網站")

DO WHILE oIE.Busy OR oIE.ReadyState # 4
DOEVENTS
ENDDO

* 設定摘要
oIE.Document.getElementsByName("ItemName[]").Item(0).Value = "測試摘要"
* 設定數量
oIE.Document.getElementsByName("ItemCount[]").Item(0).Value = "2"
* 設定單價
oIE.Document.getElementsByName("ItemPrice[]").Item(0).Value = "100"
* 設定單位
oIE.Document.getElementsByName("ItemUnit[]").Item(0).Value = "件"
回頂端
檢視會員個人資料 發送私人訊息
Patrick Wu



註冊時間: 2007-01-03
文章: 228
來自: 台北市

第 5 樓

發表發表於: 星期三 三月 26, 2025 1:30 pm    文章主題: 引言回覆

謝謝 各位先進的指導
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
Patrick Wu



註冊時間: 2007-01-03
文章: 228
來自: 台北市

第 6 樓

發表發表於: 星期三 三月 26, 2025 1:41 pm    文章主題: 啪謝 oIE = Createobject("internetexplorer.application") 有幾行搞不定 引言回覆

致 CPS0204 先進 厲害 厲害

* 設定摘要
oIE.Document.getElementsByName("ItemName[]").Item(0).Value = "測試摘要" &&& 沒反應 &&& 沒顯示 但 I_E 程式碼內有

但新增一列 後
oIE.Document.getElementsByName("ItemName[]").Item(2).Value = "測試摘要" &&& 可以 &&& 有顯示

* 設定數量
oIE.Document.getElementsByName("ItemCount[]").Item(0).Value = "2" &&& 可以
* 設定單價
oIE.Document.getElementsByName("ItemPrice[]").Item(0).Value = "100" &&& 可以
* 設定單位
oIE.Document.getElementsByName("ItemUnit[]").Item(0).Value = "件" &&& 可以


後學再TRY TRY 謝謝
回頂端
檢視會員個人資料 發送私人訊息 MSN Messenger
Patrick Wu



註冊時間: 2007-01-03
文章: 228
來自: 台北市

第 7 樓

發表發表於: 星期三 三月 26, 2025 4:09 pm    文章主題: 引言回覆

garfield 寫到:
其實你可以去問問 chatGPT 或 Copilot也行,
老人要善用新工具才輕鬆.
不要再用ie 了, 改用控制chrome才能去除很多限制.
不能說太多, 不然太多人寫出搶票程式, 那一般人怎麼辦.


好用 多方面學習

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

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


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