A11000100A 2023-07-22 12:09 采纳率: 75%
浏览 123
已结题

纯绿色简单脚本开发,无管理员权限

公司电脑无法安装各种编程软件
但是日常工作有大量重复性网页数据提取归纳
一般是用表格内的一个数据复制粘贴到网页上,点击运行后将网页反馈的结果复制并粘贴回表格后一单元格进行记录
以前有管理员权限跟网络权限的时候可以通过各种简单的脚本或者RPA实现
现在没有管理员权限,没有网络
只能本地化编程
完全没有方向
有没有人可以指导下怎么操作
涉及到的主要由以下几个痛点
无管理员权限可以编程么?

怎么实现点击网页特定位置?

怎么实现模拟键盘鼠标操作?

不然每天重复操作太消耗人

以下为具体需求:
1、激活命名为1234的Excel表格,
2、复制当前单元格数据
3、激活已经打开的浏览器,并将复制到的数据填入文字为“姓名”后的输入框内,点击网页上该输入框后“查询”按钮,等待页面加载完成,网页可能会出现弹窗,需要点击确认按钮消除弹窗
4、完成后,复制文字为“性别”后的输出框内容,并点击“信息更正”按钮将网页恢复为待查询状态
5、激活命名为1234的Excel表格,并将数据粘贴入后一单元格,键盘操作向前一次向下一次
6、以上步骤可以循环指定次数,例如1000次

电脑预先已打开网页与表格

  • 写回答

22条回答 默认 最新

  • 藏柏 2023-07-25 13:56
    关注

    你没有编程环境,又没有管理员权限,那就用VBA编写EXCEL宏来实现自动化数据提取和归纳嘛

    看评论区没有现成的,我给你写一个

    
    Sub ExtractAndSum()
        Dim wb As Workbook
        Dim ws As Worksheet
        Dim namesRange As Range
        Dim nameCell As Range
        Dim browserApp As Object
        Dim doc As Object
        
        ' 打开已经预先打开的Excel表格
        Set wb = Workbooks("your_excel_file.xlsx")
        Set ws = wb.Sheets("1234")
        
        ' 获取姓名数据
        Set namesRange = ws.Range("A:A")
        
        ' 创建IE浏览器对象
        Set browserApp = CreateObject("InternetExplorer.Application")
        browserApp.Visible = True
        
        ' 循环处理姓名数据
        For Each nameCell In namesRange
            If Not IsEmpty(nameCell) Then
                ' 复制姓名数据
                nameCell.Copy
                
                ' 切换到浏览器并填入姓名数据
                browserApp.Navigate "http://your_website"
                Do While browserApp.Busy Or browserApp.readyState <> 4
                    DoEvents
                Loop
                
                Set doc = browserApp.document
                doc.getElementById("your_name_input_id").Value = Clipboard.GetText
                
                ' 点击查询按钮
                doc.getElementById("your_query_button_id").Click
                
                ' 等待页面加载完成,根据实际情况调整等待时间
                Application.Wait (Now + TimeValue("0:00:02"))
                
                ' 获取性别输出框的内容,根据实际情况调整元素ID或其他选择器
                Dim genderOutput As Object
                Set genderOutput = doc.getElementById("your_gender_output_id")
                If Not genderOutput Is Nothing Then
                    nameCell.Offset(0, 1).Value = genderOutput.innerText
                    ' 点击信息更正按钮,根据实际情况调整按钮元素ID
                    doc.getElementById("your_correct_button_id").Click
                Else
                    nameCell.Offset(0, 1).Value = "未找到性别输出框!"
                End If
            End If
        Next nameCell
        
        ' 关闭IE浏览器
        browserApp.Quit
        Set browserApp = Nothing
        Set doc = Nothing
        
        MsgBox "数据提取和归纳完成!", vbInformation
    End Sub
    
    

    就像你说的,前提都是你已经打开了your_excel_file.xlsx的Excel表格
    并且已经在浏览器中打开了名为your_website的网页

    具体的元素ID和网页路径根据你的实际情况来进行替换,然后把代码保存到你Excel表格所在的工作簿中,按alt+f8打开宏视图,运行名为ExtractAndSum的宏即可

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(21条)

报告相同问题?

问题事件

  • 系统已结题 8月6日
  • 已采纳回答 7月29日
  • 赞助了问题酬金15元 7月22日
  • 修改了问题 7月22日
  • 展开全部