上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
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>
謝謝 |
|
回頂端 |
|
 |
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 文章主題: |
|
|
謝謝 各位先進的指導 |
|
回頂端 |
|
 |
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 謝謝 |
|
回頂端 |
|
 |
Patrick Wu
註冊時間: 2007-01-03 文章: 228 來自: 台北市
第 7 樓
|
發表於: 星期三 三月 26, 2025 4:09 pm 文章主題: |
|
|
garfield 寫到: | 其實你可以去問問 chatGPT 或 Copilot也行,
老人要善用新工具才輕鬆.
不要再用ie 了, 改用控制chrome才能去除很多限制.
不能說太多, 不然太多人寫出搶票程式, 那一般人怎麼辦. |
好用 多方面學習
謝謝 |
|
回頂端 |
|
 |
|