[VBA ] 自動填寫web form並且附加檔案

看板Visual_Basic作者 (No.Nine)時間2年前 (2021/12/20 15:31), 編輯推噓1(1015)
留言16則, 1人參與, 3年前最新討論串1/1
此為範例 https://www.automationandagile.com/p/sample-form.html 我有大量的填寫表單需求,內容都列在excel明細,用迴圈一一填入表單。 目前文字框、下拉選單沒問題 但「選項」、「核取方塊」、「選擇附加檔案」有問題 我的程式碼如下,再請各位幫忙解惑,感激不盡! Sub Click() theURL = "https://www.automationandagile.com/p/sample-form.html" With CreateObject("InternetExplorer.Application") .Visible = True .navigate theURL Do While .busy Or .readystate <> 4: DoEvents: Loop With .document .all("fname").Value = "FNAME" '文字框:OK .all("lname").Value = "LNAME" '文字框:OK .all("occupation").Value = "Business" '下拉選單:OK .all("gender").Value = "m" '選項:錯誤 .all("hobbies").Value = "Travelling" '核取方塊:錯誤 file = "C:\Users\USER\Desktop\使用照片\1101.jpg"'要附加的檔案路徑" .all("btnAttachment").Value = file '附加檔案:錯誤 End With End With End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.233.6.148 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1639985498.A.52D.html

12/31 15:09, 2年前 , 1F
.getElementsByName("gender")(0).Checked = True
12/31 15:09, 1F

12/31 15:09, 2年前 , 2F
女生是
12/31 15:09, 2F

12/31 15:09, 2年前 , 3F
.getElementsByName("gender")(1).Checked = True
12/31 15:09, 3F

12/31 15:14, 2年前 , 4F
核取方塊四個選項 依0~3
12/31 15:14, 4F

12/31 15:15, 2年前 , 5F
.getElementsByName("hobbies")(0).Checked = True
12/31 15:15, 5F

12/31 15:43, 2年前 , 6F
最後附加檔案這件事情
12/31 15:43, 6F

12/31 15:43, 2年前 , 7F
可能要讓你失望了
12/31 15:43, 7F

12/31 15:44, 2年前 , 8F
我目前的能力不足以處理這個困難的問題
12/31 15:44, 8F

12/31 15:45, 2年前 , 9F
從我收集的經驗與評估 大致歸納出以下幾種方法
12/31 15:45, 9F

12/31 15:45, 2年前 , 10F
1.自製一個vbs來處理程序跳出頁面後中斷的問題
12/31 15:45, 10F

12/31 15:45, 2年前 , 11F
2.或者改用爬蟲外掛selenium 或許會有特別的處理方法
12/31 15:45, 11F

12/31 15:46, 2年前 , 12F
3.真的有辦法分析出帶有上傳字串的關鍵元素,你目前看到
12/31 15:46, 12F

12/31 15:47, 2年前 , 13F
顯示的那個不是主要的上傳元素 他的功能只是顯示
12/31 15:47, 13F

12/31 17:56, 2年前 , 14F
並沒有實際上傳的功能與作用
12/31 17:56, 14F

02/04 19:02, 3年前 , 15F
關於上傳 adodb.stream的方式處理不知道能不能行
02/04 19:02, 15F

02/04 19:02, 3年前 , 16F
可以在google 下關鍵字 upload vba adodb
02/04 19:02, 16F
文章代碼(AID): #1Xm35QKj (Visual_Basic)
文章代碼(AID): #1Xm35QKj (Visual_Basic)