按键精灵读取excel填网页内容怎么写?

意思是excel文件中在第一列数据查找找到后,再将对应的第二列第三列第四列.....以此类推的相应数据录入到网页里

按键精灵读取Excel并填写网页内容的操作可以分为以下几个步骤:
打开按键精灵并创建脚本:
首先,打开按键精灵软件,并创建一个新的脚本。
使用插件命令读取Excel:
在脚本中,选择“插件命令”选项。
选择“Office办公插件”中的相关命令来打开Excel文件。确保填写正确的Excel文件路径。
使用Plugin.Office.OpenXls(或类似命令)来打开Excel文件,并选择要读取的工作表。
使用Plugin.Office.ReadXls(或类似命令)来读取Excel中特定单元格的数据。例如,读取工作表1的单元格(1, 1)的内容,你可以使用Plugin.Office.ReadXls(1, 1, 1)(这里假设第三个参数是行号,但具体参数可能因版本而异,请查阅按键精灵官方文档)。
将读取的数据保存到变量:
将读取到的Excel数据保存到脚本中的一个变量中,例如Text。
使用WebBrowser控件打开网页:
在脚本中,使用WebBrowser控件来打开你想要填写数据的网页。
设置WebBrowser控件的URL属性为你要打开的网页地址。
填写网页内容:
使用WebBrowser控件的HtmlInput方法来填写网页中的表单或文本框。例如,使用WebBrowser1.HtmlInput "字段名", "值"来填写表单字段。
在这里,你可以使用之前从Excel中读取并保存到变量中的数据作为“值”。
执行脚本并验证结果:
运行你的脚本,查看是否成功地将Excel数据填写到网页中。
你可以通过检查网页或添加一些验证步骤(如检查页面元素的内容)来确认数据是否已正确填写。
优化和调试:
如果在填写过程中遇到问题,可以检查你的脚本逻辑、Excel文件路径、网页结构等。
使用按键精灵的调试功能来逐步执行脚本并观察每一步的结果。
保存和复用:
一旦你的脚本可以正常工作,保存它以便将来复用。
你可以根据需要对脚本进行修改和扩展,以适应不同的Excel文件和网页结构。
请注意,以上步骤是基于按键精灵的一般功能和常见用法进行描述的。具体的命令和参数可能因按键精灵的版本和设置而有所不同。因此,在实际操作时,请查阅按键精灵的官方文档或相关教程以获取更准确的信息。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2024-06-02

按键精灵的代码很久不接触了,所以早忘记怎么写了,不过既然是Win系统,那么自带的VBS脚本也可以实现读取表格中的内容,以下就是相关的vbs代码(,最终得到的内容会写入当前目录中带姓名的文本中,内容为一行一条,之后您可以再通过其它方法来读取这个文本去操作实现功能,VBS保存时的编码请务必设为ANSI(脚本文件后缀名为 .vbs)。

' 根据姓名从表格中搜索信息 By 依梦琴瑶

' 自定义表格文件路径
ExcelFilePath = "D:\Desktop\报告单.xls"


' 输入框
Name = InputBox("请注意:" & vbCrLf & vbCrLf & "输入框内容为空时点击确定,会退出脚本。" & vbCrLf & vbCrLf & vbCrLf & "请输入姓名:", "查询")
If Trim(Name) = "" Then
    ' 如果未输入,或点击取消,将退出脚本
    WScript.Quit
End If

Dim objExcel, WorkSheet
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
Set objWorkbook = objExcel.Workbooks.Open(ExcelFilePath)
Set WorkSheet = objWorkbook.Worksheets(1)

Name = Trim(Name)

' 从B2单元格开始向下搜索,直到找到匹配的内容,然后记录该行的行号
RowNum = 2
Do While WorkSheet.Cells(RowNum, "B").Value <> ""
    If WorkSheet.Cells(RowNum, "B").Value = Name Then
        searchName = True
        Exit Do
    End If
    RowNum = RowNum + 1
    searchName = False
Loop

' 如果未找到,退出脚本
If Not searchName Then
    MsgBox "您输入的姓名 " & Name & " 在表格中未搜索到。", 48, "无结果"
    WScript.Quit
End If

' 获得最后一列列数
lastColumn = WorkSheet.UsedRange.Columns.Count

' 获取A列对应的标本号
Number = WorkSheet.Range("A" & RowNum).Value

' 获取C列对应的性别
Gender = WorkSheet.Range("C" & RowNum).Value

' 将标本号,姓名和性别赋值到Report变量中
Report = "标本号:" & Number & vbCrLf & "姓名:" & Name & vbCrLf & "性别:" & Gender

' 获取D列到最后一列的内容
For i = 4 To lastColumn
    ' 获得对应列的列名字母
    ColumnLetter = GetColumnLetter(i)

    ' 获取第一行对应列的内容
    TitleName = WorkSheet.Range(ColumnLetter & "1").Value

    ' 获取姓名所在行对应列的内容
    ReportValue = WorkSheet.Range(ColumnLetter & RowNum).Value

    ' 将上诉所得内容赋值到Report变量中
    Report = Report & vbCrLf & TitleName & ":" & ReportValue
Next

' 将内容写入文本文件
Dim objFSO, TextFilePath, objTextFile
Set objFSO = CreateObject("Scripting.FileSystemObject")

TextFilePath = ".\" & Name & "_Report.txt"

Set objTextFile = objFSO.CreateTextFile(TextFilePath, True)
objTextFile.Write Report
objTextFile.Close

MsgBox "报告结果内容已写入“" & Name & "_Report.txt”中", 64, "完成"

' 关闭表格
objWorkbook.Close
objExcel.Quit

' 获得列字母
Function GetColumnLetter(columnNumber)
    Dim dividend, modulo, currentColumnNumber

    GetColumnLetter = ""
    dividend = columnNumber

    Do
        modulo = (dividend - 1) Mod 26
        GetColumnLetter = Chr(65 + modulo) & GetColumnLetter
        dividend = (dividend - modulo) \ 26
    Loop While dividend > 0

    GetColumnLetter = GetColumnLetter
End Function

相似回答