• 使用【VBScript】从Excel电子表格中读取数据的简单教程


    使用VBScript从Excel电子表格中读取数据的简单教程

    引言:

    在日常工作中,我们经常需要从Excel电子表格中读取数据并进行处理。本文将介绍如何使用VBScript编写一个简单的脚本,从Excel电子表格中读取单元格的值,并进行相应的处理。

    ' XLRead.vbs
    ' VBScript程序演示如何从Microsoft Excel电子表格中读取单元格的值。
    '
    ' ----------------------------------------------------------------------
    ' 版权所有(c)2002 Richard L. Mueller
    ' Hilltop Lab网站 - http://www.rlmueller.net
    ' 版本1.0 - 2002年10月12日
    ' 版本1.1 - 2003年2月19日 - 统一匈牙利命名法。
    ' 版本1.2 - 2004年1月25日 - 修改错误处理。
    ' 该程序从Microsoft Excel电子表格中读取用户的Distinguished Name和一些属性。程序会绑定到每个用户并设置属性。
    '
    ' 您有权免费使用、修改、复制和分发此脚本文件,只要您同意上述版权所有者对此使用不提供任何保证、义务或责任。
    
    Option Explicit
    
    Dim objExcel, strExcelPath, objSheet, intRow, strUserDN, strFirstName
    Dim strMiddleInitial, strLastName, objUser
    
    ' 绑定到Excel对象。
    On Error Resume Next
    Set objExcel = CreateObject("Excel.Application")
    If (Err.Number <> 0) Then
        On Error GoTo 0
        Wscript.Echo "未找到Excel应用程序。"
        Wscript.Quit
    End If
    On Error GoTo 0
    
    strExcelPath = "c:\MyFolder\Groups.xls"
    
    ' 打开指定的电子表格并选择第一个工作表。
    objExcel.WorkBooks.Open strExcelPath
    Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)
    
    ' 从第一行之后的行开始迭代电子表格,直到第一列中的第一个空条目。对于每一行,绑定到第一列中指定的用户并设置属性。
    intRow = 2
    Do While objSheet.Cells(intRow, 1).Value <> ""
        strUserDN = objSheet.Cells(intRow, 1).Value
        strFirstName = objSheet.Cells(intRow, 2).Value
        strMiddleInitial = objSheet.Cells(intRow, 3).Value
        strLastName = objSheet.Cells(intRow, 4).Value
        On Error Resume Next
        Set objUser = GetObject("LDAP://" & strUserDN)
        If (Err.Number <> 0) Then
            On Error GoTo 0
            Wscript.Echo "未找到用户" & vbCrLf & strUserDN
        Else
            On Error GoTo 0
            objUser.givenName = strFirstName
            objUser.initials = strMiddleInitial
            objUser.sn = strLastName
            On Error Resume Next
            objUser.SetInfo
            If (Err.Number <> 0) Then
                On Error GoTo 0
                Wscript.Echo "无法更新用户" & vbCrLf & strUserDN
            End If
            On Error GoTo 0
        End If
        intRow = intRow + 1
    Loop
    
    ' 关闭工作簿并退出Excel。
    objExcel.ActiveWorkbook.Close
    objExcel.Application.Quit
    
    ' 清理对象。
    Set objExcel = Nothing
    Set objSheet = Nothing
    Set objUser = Nothing
    
    Wscript.Echo "完成"
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73

    步骤1:绑定Excel对象

    首先,我们需要创建一个Excel对象并绑定到Excel应用程序。这可以通过VBScript的CreateObject函数来实现。如果Excel应用程序未找到,我们需要进行错误处理并退出脚本。

    步骤2:打开电子表格并选择工作表

    接下来,我们需要指定要读取的Excel电子表格的路径,并使用WorkBooks.Open方法打开它。然后,我们选择要读取的工作表,通常是第一个工作表。

    步骤3:迭代电子表格并读取数据

    我们使用一个循环来迭代电子表格中的每一行。我们从第二行开始,直到第一列中的第一个空条目。对于每一行,我们使用Cells方法读取单元格的值,并将其存储在相应的变量中。

    步骤4:处理读取的数据

    在每次迭代中,我们可以根据需要对读取的数据进行处理。例如,我们可以将数据存储到数据库中,或者根据数据执行其他操作。

    步骤5:关闭电子表格和Excel应用程序

    在完成数据读取后,我们需要关闭电子表格并退出Excel应用程序,以释放资源。这可以通过调用ActiveWorkbook.Close方法和Application.Quit方法来实现。

    步骤6:清理对象

    最后,我们需要清理已使用的对象,以释放内存。这可以通过将对象设置为Nothing来实现。

    结论:

    通过使用VBScript编写的简单脚本,我们可以轻松地从Excel电子表格中读取数据,并进行相应的处理。这种方法可以帮助我们提高工作效率,并简化数据处理的过程。

  • 相关阅读:
    Golang 整合RocketMQ
    linux升级glibc-2.28
    Stable Diffusion 3.5发布:图像生成新纪元,多模态AI的突破!
    AI & Web3 盛会「EDGE」在港闭幕,融云国际影响力持续提升
    马斯克调整了Twitter API服务方案
    一种语音情感深度迁移识别算法
    42张图,带你真正搞懂redis数据类型的底层
    基于python+django+mysql农业生产可视化系统
    字符串移位包含问题
    LiveNVR监控流媒体Onvif/RTSP功能-如何配置播放回调鉴权集成业务自身的权限系统视频流安全控制
  • 原文地址:https://blog.csdn.net/No_Name_Cao_Ni_Mei/article/details/133787365