excel - VBA使用Excel列表填充网页中的一个单元格
问题描述
我做了很多测试并尝试了很多建议,但似乎没有任何工作。我认为这部分是由于该过程的 Web 部分的设置方式。使用 VBA 的这一部分,我尝试通过声明输入名称来命名输入元素,但它不起作用。该网站是一个公司网站,它的设置方式很奇怪,因此我很挣扎。
我需要的代码使用具有 2 列的 excel 文档 - Col A 具有指向基于 Web 的系统中每个人的个人资料的超链接列表,Col B 具有针对每个超链接的人员代码。
因此,我需要一个代码: 1. 单击 Excel 工作表列 A 中的第一个超链接并在 IE 中打开新页面 2. 等待页面加载 3. 在 Excel 工作表列 B 中,复制列表 3 中的第一个代码。打开 IE 页面,Tab 一定次数,直到到达正确的字段(因为选择输入字段不起作用) 4. 将复制的代码粘贴到字段 5. Sendkeys Enter 将数据保存到字段 6. 等待页面加载 7. 关闭 IE 页面 8. 循环单击列表中的下一个超链接并重复过程直到列表结束
如果有人可以请帮助,我将不胜感激!我是 VBA 新手,所以任何建议,编码都会很棒。
提前谢谢了!麦克风
这是我到目前为止尝试过的(不起作用)
Sub submitFeedback3()
Application.ScreenUpdating = False
Set links = Sheets("Links List")
Set linkList = links.Range("A1", links.Range("A" & Rows.Count).End(xlUp))
Set ID = Sheets("Links List")
Set IDList = ID.Range("B1", ID.Range("B" & Rows.Count).End(xlUp))
Application.DisplayAlerts = False
StartTime = Now
For Each URL In linkList 'open each link
Shell (browserPath & " " & URL.Value)
For Each Cel In IDList
SendKeys "^c" '= copy
Set IE = Nothing
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
Application.SendKeys "{TAB}", True
SendKeys "^v"
SendKeys ("{ENTER}")
Next Cel
Next URL
Application.DisplayAlerts = True
End Sub
更新代码:
Option Explicit
Const browserPath As String = "C:\Program Files\Internet
Explorer\iExplore.exe"
Dim IE As Object
Dim LatestDate, StartTime
Dim links As Worksheet, linkList As Range, ID As Worksheet, IDList As Range,
URL
As Range, Cel As Range
Sub submitFeedback3()
Application.ScreenUpdating = False
Set links = Sheets("Links List")
Set linkList = links.Range("A1", links.Range("A" & Rows.Count).End(xlUp))
Set ID = Sheets("Links List")
Set IDList = ID.Range("B1", ID.Range("B" & Rows.Count).End(xlUp))
Application.DisplayAlerts = False
StartTime = Now
For Each URL In linkList 'open each link
Shell (browserPath & " " & URL.Value)
While IE.Busy
DoEvents
Wend
For Each Cel In IDList
SendKeys "^c" '= copy
With IE
.getElementById ("employee.dealerPortalUserId")
SendKeys "^v"
SendKeys ("{ENTER}")
End With
Next Cel
Next URL
Application.DisplayAlerts = True
End Sub
解决方案
推荐阅读
- android - android中的缩放比例不正确
- perl - 使用 Perl 的 Zipf 法律书籍分析
- spring-boot - AXIOS withCredentials 在 server.js 中不起作用
- postgresql - 变量在 PL/pgSQL 函数中如何工作
- flutter - 如何在小部件方法中将变量作为状态传递?
- asp.net - 从子文件夹到根目录的 ASP.net URL 路由
- state - Google 助理 - 报告状态返回 200 但测试套件和报告状态仪表板失败
- python - 如何在 Python 中获取子字符串
- arrays - 搜索栏过滤器不适用于我的数组项
- c - 如何将全局变量放在另一个部分