精华内容
下载资源
问答
  • VB读取Excel自动化错误-2147024893(800700003)
    千次阅读
    更多相关内容
  • vb读取Excel数据

    2018-09-26 15:52:27
    对于样本行数(列数)小于10的,可将Excel表格中的数据全部显示在VB窗体上,如对于有大数据需要显示,不建议使用该源代码。
  • vb读取excel

    2016-03-15 14:06:25
    vb调用excel为数据库,读取excel
  • VB读取Excel内容

    2013-02-03 13:59:19
    VB读取Excel内容 比较好的例子 用vb操作excel文件
  • VB读取Excel内容写到表格
  • VB读取EXCEL文件

    2011-10-27 15:16:44
    能够读取EXCEL,并且写入。 '读取01.xls中A2到A6,5个单元格的数据 Private Sub Command1_Click() Dim ExcelApp
  • 实现读取excel或者txt文档的具体内容!
  • 使用VB读取EXCEL数据的小程序

    千次阅读 2019-03-05 15:10:50
    使用VB读取EXCEL数据的小程序程序界面部分代码使用VB进行MD5加密的代码 程序界面 VB生成EXE工程时可能由于系统原因会导致按钮文字显示不全,缺字少字的情况,网上搜了好多帖子,有说DLL文件缺失,有说框体不够大等等...

    使用VB读取EXCEL数据的小程序

    程序界面

    VB生成EXE工程时可能由于系统原因会导致按钮文字显示不全,缺字少字的情况,网上搜了好多帖子,有说DLL文件缺失,有说框体不够大等等,我全都尝试了一遍都没有解决,最后本人使用了一个比较LOW的办法:在按钮Caption属性中输入文字时多加了些空格,终于解决了

    在这里插入图片描述

    部分代码

    代码片如下:.

        Dim excel_App As Excel.Application
        Dim excel_Book As Excel.Workbook
        Dim excel_sheet1 As Excel.Worksheet
        Dim excel_sheet2 As Excel.Worksheet
    Private Sub Form_Load()
    
        Set excel_App = CreateObject("excel.application")
        Set excel_Book = excel_App.Workbooks.Open(App.Path + "\MD5.xls")
        Set excel_sheet1 = excel_Book.Worksheets("sheet1")
        Set excel_sheet2 = excel_Book.Worksheets("sheet2")
    
    End Sub
    
    Private Sub Form_Unload(Cancel As Integer)
    
    
    
    '    关闭EXCEL
    '    强制回收 Excel 进程
        
        excel_Book.Close (False) '关闭工作簿
    '    int geneID = System.GC.GetGeneration(excel_App)
    '    excel_App.Visible = False
        Set excel_sheet1 = Nothing
        Set excel_sheet2 = Nothing
        Set excel_Book = Nothing
        excel_App.Quit '结束EXCEL对象
        Set excel_App = Nothing '释放xlApp对象
    
    End Sub
    'D-证件号4 E-姓名5 H-秘钥8
    'CStr(excel_sheet1.Cells(2, 4))
    'CStr(excel_sheet1.Cells(2, 5))
    'CStr(excel_sheet1.Cells(2, 8))
    's_MD5str = Module_MD5.MD5("ABC", 32)
    
    Private Sub MD5_Click()
    
    '    重复部分
        Dim strxml_templ As String
    
        strxml_templ = strxml_templ + "IdentNo" + "&"
        strxml_templ = strxml_templ + "ChinNm" + "|"
    
        
    '   循环读取表格参数后进行拼接
        Dim flag As Integer
        Dim strxml_rebody As String
        strxml_rebody = strxml_templ
        flag = 2
        
        For i = 1 To 300
            strxml_rebody = strxml_templ
            strxml_rebody = Replace(strxml_rebody, "IdentNo", CStr(excel_sheet1.Cells(flag, 4)))
            strxml_rebody = Replace(strxml_rebody, "ChinNm", CStr(excel_sheet1.Cells(flag, 5)))
    
            strxml_body = strxml_body + strxml_rebody
            
    '    逻辑判断读取行数
            flag = flag + 1
            
            If Cells(flag, 1) = "" Then
                Exit For
            End If
           
        Next i
    
        strxml_rebody = strxml_body + CStr(excel_sheet1.Cells(2, 8))
        
    '    MsgBox strxml_rebody
    
        s_MD5str = Module_MD5.MD5(strxml_rebody, 32)
        
    ''    关闭EXCEL
    '    excel_Book.Close (False) '关闭工作簿
    '    excel_App.Visible = False
    '    excel_App.Quit '结束EXCEL对象
    '    Set excel_sheet1 = Nothing
    '    Set excel_Book = Nothing
    '    Set excel_App = Nothing '释放xlApp对象
    End Sub
    
    Private Sub Text1_Click()
    
    '选中文本框中全部内容
    'MsgBox "abc"
        With Text1
            .SelStart = 0
            .SelLength = Len(Text1.Text)
            '让文本框获取焦点
            .SetFocus
        End With
    
    End Sub
    
    Private Sub 单笔港澳台居民来往大陆通行证信息核查_Click()
    
    '    Set excel_App = CreateObject("excel.application")
    '    Set excel_Book = excel_App.Workbooks.Open(App.Path + "\MD5.xls")
    '    Set excel_sheet1 = excel_Book.Worksheets("sheet1")
    '    Set excel_sheet2 = excel_Book.Worksheets("sheet2")
        
    '    excel_sheet2.Cells(3, 1) = "TEST"
    
        strxml = "<service>" + Chr(10) + Chr(13)
        
    '    HEAD字符串拼接
        strxml_head = Chr(9) + "<Head>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<SvcCd>" + CStr(excel_sheet2.Cells(2, 1)) + "</SvcCd>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<ChanlCd>" + CStr(excel_sheet2.Cells(2, 2)) + "</ChanlCd>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<Mac />" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<CnsmrSysNo>" + CStr(excel_sheet2.Cells(2, 3)) + "</CnsmrSysNo>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<CnsmrNodeNo>" + CStr(excel_sheet2.Cells(2, 4)) + "</CnsmrNodeNo>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<CnsmrSysEgShrtNm>" + CStr(excel_sheet2.Cells(2, 5)) + "</CnsmrSysEgShrtNm>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<TranDt>" + CStr(excel_sheet2.Cells(2, 6)) + "</TranDt>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<TranTm>" + CStr(excel_sheet2.Cells(2, 7)) + "</TranTm>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<MsgVerNo>" + CStr(excel_sheet2.Cells(2, 8)) + "</MsgVerNo>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<MsgTp>" + CStr(excel_sheet2.Cells(2, 9)) + "</MsgTp>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<SvcVerNo>" + CStr(excel_sheet2.Cells(2, 10)) + "</SvcVerNo>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<GlbNo>" + CStr(excel_sheet2.Cells(2, 11)) + "</GlbNo>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<RqsSeqNo>" + CStr(excel_sheet2.Cells(2, 12)) + "</RqsSeqNo>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<CharSet>utf-8</CharSet>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<DgtSgnDsc>" + CStr(excel_sheet2.Cells(2, 13)) + "</DgtSgnDsc>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<SgnTp>" + CStr(excel_sheet2.Cells(2, 14)) + "</SgnTp>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<UsrLng />" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<InstNo />" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<TlrNo />" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + Chr(9) + "<SrcCnsmrSysNo>" + CStr(excel_sheet2.Cells(2, 15)) + "</SrcCnsmrSysNo>" + Chr(10) + Chr(13)
        strxml_head = strxml_head + Chr(9) + "</Head>" + Chr(10) + Chr(13)
        
    '   BODY字符串拼接
        strxml_body = Chr(9) + "<Body>" + Chr(10) + Chr(13)
        strxml_body = strxml_body + Chr(9) + Chr(9) + "<CustNo1>" + CStr(excel_sheet2.Cells(5, 1)) + "</CustNo1>" + Chr(10) + Chr(13)
        strxml_body = strxml_body + Chr(9) + Chr(9) + "<CustNo2>" + CStr(excel_sheet2.Cells(5, 2)) + "</CustNo2>" + Chr(10) + Chr(13)
        
    '    重复部分
        Dim strxml_templ As String
        strxml_templ = strxml_templ + Chr(9) + Chr(9) + "<BusTp>BusTpValue</BusTp>" + Chr(10) + Chr(13)
        strxml_templ = strxml_templ + Chr(9) + Chr(9) + "<CtznTp>CtznTpValue</CtznTp>" + Chr(10) + Chr(13)
        strxml_templ = strxml_templ + Chr(9) + Chr(9) + "<AreaNo>AreaNoValue</AreaNo>" + Chr(10) + Chr(13)
        strxml_templ = strxml_templ + Chr(9) + Chr(9) + "<IdentNo>IdentNoValue</IdentNo>" + Chr(10) + Chr(13)
        strxml_templ = strxml_templ + Chr(9) + Chr(9) + "<ChinNm>ChinNmValue</ChinNm>" + Chr(10) + Chr(13)
        strxml_templ = strxml_templ + Chr(9) + Chr(9) + "<BrthDt>BrthDtValue</BrthDt>" + Chr(10) + Chr(13)
        strxml_templ = strxml_templ + Chr(9) + Chr(9) + "<IdentVldDt>IdentVldDtValue</IdentVldDt>" + Chr(10) + Chr(13)
        
    '   循环读取表格参数后进行拼接
        Dim flag As Integer
        Dim strxml_rebody As String
        strxml_rebody = strxml_templ
        flag = 2
        
        For i = 1 To 1
            strxml_rebody = strxml_templ
            strxml_rebody = Replace(strxml_rebody, "BusTpValue", CStr(excel_sheet1.Cells(flag, 1)))
            strxml_rebody = Replace(strxml_rebody, "CtznTpValue", CStr(excel_sheet1.Cells(flag, 2)))
            strxml_rebody = Replace(strxml_rebody, "AreaNoValue", CStr(excel_sheet1.Cells(flag, 3)))
            strxml_rebody = Replace(strxml_rebody, "IdentNoValue", CStr(excel_sheet1.Cells(flag, 4)))
            strxml_rebody = Replace(strxml_rebody, "ChinNmValue", CStr(excel_sheet1.Cells(flag, 5)))
            strxml_rebody = Replace(strxml_rebody, "BrthDtValue", CStr(excel_sheet1.Cells(flag, 6)))
            strxml_rebody = Replace(strxml_rebody, "IdentVldDtValue", CStr(excel_sheet1.Cells(flag, 7)))
            strxml_body = strxml_body + strxml_rebody
            
    '    逻辑判断读取行数
            flag = flag + 1
            
            If Cells(flag, 1) = "" Then
                Exit For
            End If
           
        Next i
    
        strxml_body = strxml_body + Chr(9) + "</Body>" + Chr(10) + Chr(13)
    
        strxml = strxml + strxml_head + strxml_body + "</service>"
    
    '    设置单元格的值,输出生成的XLM
    '    Sheets("公民身份证件信息核查").TextBox1.Text = strxml
        s_MD5str = strxml
        
    '    '    关闭EXCEL
    '    excel_Book.Close (False) '关闭工作簿
    '    excel_App.Visible = False
    '    excel_App.Quit '结束EXCEL对象
    '    Set excel_sheet1 = Nothing
    '    Set excel_sheet2 = Nothing
    '    Set excel_Book = Nothing
    '    Set excel_App = Nothing '释放xlApp对象
    End Sub
    
    Private Sub 确定生成_Click()
    'MsgBox MD5("ABC", 32)
    'cell_1 = CStr(Cells(2, 1))
    'cell_2 = CStr(Cells(2, 2))
    'cell_3 = CStr(Cells(2, 3))
    'cell_4 = CStr(Cells(2, 4))
    'cell_5 = CStr(Cells(2, 5))
    'cell_6 = CStr(Cells(2, 6))
    'cell_7 = CStr(Cells(2, 7))
    'cell_8 = CStr(Cells(2, 8))
    
    'MsgBox s_MD5str
    
    Text1.Text = s_MD5str
    
    End Sub
    

    使用VB进行MD5加密的代码

    这里不用纠结于代码中的具体算法了,只需要调用下面代码即可,例:Module_MD5.MD5(strxml_rebody, 32)

    Private Const BITS_TO_A_BYTE = 8
    Private Const BYTES_TO_A_WORD = 4
    Private Const BITS_TO_A_WORD = 32
     
    Private m_lOnBits(30)
    Private m_l2Power(30)
     
    Private Function LShift(lValue, iShiftBits)
    If iShiftBits = 0 Then
    LShift = lValue
    Exit Function
    ElseIf iShiftBits = 31 Then
    If lValue And 1 Then
    LShift = &H80000000
    Else
    LShift = 0
    End If
    Exit Function
    ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
    Err.Raise 6
    End If
     
    If (lValue And m_l2Power(31 - iShiftBits)) Then
    LShift = ((lValue And m_lOnBits(31 - (iShiftBits + 1))) * m_l2Power(iShiftBits)) Or &H80000000
    Else
    LShift = ((lValue And m_lOnBits(31 - iShiftBits)) * m_l2Power(iShiftBits))
    End If
    End Function
     
    Private Function RShift(lValue, iShiftBits)
    If iShiftBits = 0 Then
    RShift = lValue
    Exit Function
    ElseIf iShiftBits = 31 Then
    If lValue And &H80000000 Then
    RShift = 1
    Else
    RShift = 0
    End If
    Exit Function
    ElseIf iShiftBits < 0 Or iShiftBits > 31 Then
    Err.Raise 6
    End If
     
    RShift = (lValue And &H7FFFFFFE) \ m_l2Power(iShiftBits)
     
    If (lValue And &H80000000) Then
    RShift = (RShift Or (&H40000000 \ m_l2Power(iShiftBits - 1)))
    End If
    End Function
     
    Private Function RotateLeft(lValue, iShiftBits)
    RotateLeft = LShift(lValue, iShiftBits) Or RShift(lValue, (32 - iShiftBits))
    End Function
     
    Private Function AddUnsigned(lX, lY)
    Dim lX4
    Dim lY4
    Dim lX8
    Dim lY8
    Dim lResult
     
    lX8 = lX And &H80000000
    lY8 = lY And &H80000000
    lX4 = lX And &H40000000
    lY4 = lY And &H40000000
     
    lResult = (lX And &H3FFFFFFF) + (lY And &H3FFFFFFF)
     
    If lX4 And lY4 Then
    lResult = lResult Xor &H80000000 Xor lX8 Xor lY8
    ElseIf lX4 Or lY4 Then
    If lResult And &H40000000 Then
    lResult = lResult Xor &HC0000000 Xor lX8 Xor lY8
    Else
    lResult = lResult Xor &H40000000 Xor lX8 Xor lY8
    End If
    Else
    lResult = lResult Xor lX8 Xor lY8
    End If
     
    AddUnsigned = lResult
    End Function
     
    Private Function md5_F(x, y, z)
    md5_F = (x And y) Or ((Not x) And z)
    End Function
     
    Private Function md5_G(x, y, z)
    md5_G = (x And z) Or (y And (Not z))
    End Function
     
    Private Function md5_H(x, y, z)
    md5_H = (x Xor y Xor z)
    End Function
     
    Private Function md5_I(x, y, z)
    md5_I = (y Xor (x Or (Not z)))
    End Function
     
    Private Sub md5_FF(a, b, c, d, x, s, ac)
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_F(b, c, d), x), ac))
    a = RotateLeft(a, s)
    a = AddUnsigned(a, b)
    End Sub
     
    Private Sub md5_GG(a, b, c, d, x, s, ac)
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_G(b, c, d), x), ac))
    a = RotateLeft(a, s)
    a = AddUnsigned(a, b)
    End Sub
     
    Private Sub md5_HH(a, b, c, d, x, s, ac)
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_H(b, c, d), x), ac))
    a = RotateLeft(a, s)
    a = AddUnsigned(a, b)
    End Sub
     
    Private Sub md5_II(a, b, c, d, x, s, ac)
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(md5_I(b, c, d), x), ac))
    a = RotateLeft(a, s)
    a = AddUnsigned(a, b)
    End Sub
     
    Private Function ConvertToWordArray(sMessage)
    Dim lMessageLength
    Dim lNumberOfWords
    Dim lWordArray()
    Dim lBytePosition
    Dim lByteCount
    Dim lWordCount
     
    Const MODULUS_BITS = 512
    Const CONGRUENT_BITS = 448
     
    lMessageLength = Len(sMessage)
     
    lNumberOfWords = (((lMessageLength + ((MODULUS_BITS - CONGRUENT_BITS) \ BITS_TO_A_BYTE)) \ (MODULUS_BITS \ BITS_TO_A_BYTE)) + 1) * (MODULUS_BITS \ BITS_TO_A_WORD)
    ReDim lWordArray(lNumberOfWords - 1)
     
    lBytePosition = 0
    lByteCount = 0
    Do Until lByteCount >= lMessageLength
    lWordCount = lByteCount \ BYTES_TO_A_WORD
    lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
    lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(Asc(Mid(sMessage, lByteCount + 1, 1)), lBytePosition)
    lByteCount = lByteCount + 1
    Loop
     
    lWordCount = lByteCount \ BYTES_TO_A_WORD
    lBytePosition = (lByteCount Mod BYTES_TO_A_WORD) * BITS_TO_A_BYTE
     
    lWordArray(lWordCount) = lWordArray(lWordCount) Or LShift(&H80, lBytePosition)
     
    lWordArray(lNumberOfWords - 2) = LShift(lMessageLength, 3)
    lWordArray(lNumberOfWords - 1) = RShift(lMessageLength, 29)
     
    ConvertToWordArray = lWordArray
    End Function
     
    Private Function WordToHex(lValue)
    Dim lByte
    Dim lCount
     
    For lCount = 0 To 3
    lByte = RShift(lValue, lCount * BITS_TO_A_BYTE) And m_lOnBits(BITS_TO_A_BYTE - 1)
    WordToHex = WordToHex & Right("0" & Hex(lByte), 2)
    Next
    End Function
     
    Public Function MD5(sMessage, stype)
    m_lOnBits(0) = CLng(1)
    m_lOnBits(1) = CLng(3)
    m_lOnBits(2) = CLng(7)
    m_lOnBits(3) = CLng(15)
    m_lOnBits(4) = CLng(31)
    m_lOnBits(5) = CLng(63)
    m_lOnBits(6) = CLng(127)
    m_lOnBits(7) = CLng(255)
    m_lOnBits(8) = CLng(511)
    m_lOnBits(9) = CLng(1023)
    m_lOnBits(10) = CLng(2047)
    m_lOnBits(11) = CLng(4095)
    m_lOnBits(12) = CLng(8191)
    m_lOnBits(13) = CLng(16383)
    m_lOnBits(14) = CLng(32767)
    m_lOnBits(15) = CLng(65535)
    m_lOnBits(16) = CLng(131071)
    m_lOnBits(17) = CLng(262143)
    m_lOnBits(18) = CLng(524287)
    m_lOnBits(19) = CLng(1048575)
    m_lOnBits(20) = CLng(2097151)
    m_lOnBits(21) = CLng(4194303)
    m_lOnBits(22) = CLng(8388607)
    m_lOnBits(23) = CLng(16777215)
    m_lOnBits(24) = CLng(33554431)
    m_lOnBits(25) = CLng(67108863)
    m_lOnBits(26) = CLng(134217727)
    m_lOnBits(27) = CLng(268435455)
    m_lOnBits(28) = CLng(536870911)
    m_lOnBits(29) = CLng(1073741823)
    m_lOnBits(30) = CLng(2147483647)
     
    m_l2Power(0) = CLng(1)
    m_l2Power(1) = CLng(2)
    m_l2Power(2) = CLng(4)
    m_l2Power(3) = CLng(8)
    m_l2Power(4) = CLng(16)
    m_l2Power(5) = CLng(32)
    m_l2Power(6) = CLng(64)
    m_l2Power(7) = CLng(128)
    m_l2Power(8) = CLng(256)
    m_l2Power(9) = CLng(512)
    m_l2Power(10) = CLng(1024)
    m_l2Power(11) = CLng(2048)
    m_l2Power(12) = CLng(4096)
    m_l2Power(13) = CLng(8192)
    m_l2Power(14) = CLng(16384)
    m_l2Power(15) = CLng(32768)
    m_l2Power(16) = CLng(65536)
    m_l2Power(17) = CLng(131072)
    m_l2Power(18) = CLng(262144)
    m_l2Power(19) = CLng(524288)
    m_l2Power(20) = CLng(1048576)
    m_l2Power(21) = CLng(2097152)
    m_l2Power(22) = CLng(4194304)
    m_l2Power(23) = CLng(8388608)
    m_l2Power(24) = CLng(16777216)
    m_l2Power(25) = CLng(33554432)
    m_l2Power(26) = CLng(67108864)
    m_l2Power(27) = CLng(134217728)
    m_l2Power(28) = CLng(268435456)
    m_l2Power(29) = CLng(536870912)
    m_l2Power(30) = CLng(1073741824)
     
     
    Dim x
    Dim k
    Dim AA
    Dim BB
    Dim CC
    Dim DD
    Dim a
    Dim b
    Dim c
    Dim d
     
    Const S11 = 7
    Const S12 = 12
    Const S13 = 17
    Const S14 = 22
    Const S21 = 5
    Const S22 = 9
    Const S23 = 14
    Const S24 = 20
    Const S31 = 4
    Const S32 = 11
    Const S33 = 16
    Const S34 = 23
    Const S41 = 6
    Const S42 = 10
    Const S43 = 15
    Const S44 = 21
     
    x = ConvertToWordArray(sMessage)
     
    a = &H67452301
    b = &HEFCDAB89
    c = &H98BADCFE
    d = &H10325476
     
    For k = 0 To UBound(x) Step 16
    AA = a
    BB = b
    CC = c
    DD = d
     
    md5_FF a, b, c, d, x(k + 0), S11, &HD76AA478
    md5_FF d, a, b, c, x(k + 1), S12, &HE8C7B756
    md5_FF c, d, a, b, x(k + 2), S13, &H242070DB
    md5_FF b, c, d, a, x(k + 3), S14, &HC1BDCEEE
    md5_FF a, b, c, d, x(k + 4), S11, &HF57C0FAF
    md5_FF d, a, b, c, x(k + 5), S12, &H4787C62A
    md5_FF c, d, a, b, x(k + 6), S13, &HA8304613
    md5_FF b, c, d, a, x(k + 7), S14, &HFD469501
    md5_FF a, b, c, d, x(k + 8), S11, &H698098D8
    md5_FF d, a, b, c, x(k + 9), S12, &H8B44F7AF
    md5_FF c, d, a, b, x(k + 10), S13, &HFFFF5BB1
    md5_FF b, c, d, a, x(k + 11), S14, &H895CD7BE
    md5_FF a, b, c, d, x(k + 12), S11, &H6B901122
    md5_FF d, a, b, c, x(k + 13), S12, &HFD987193
    md5_FF c, d, a, b, x(k + 14), S13, &HA679438E
    md5_FF b, c, d, a, x(k + 15), S14, &H49B40821
     
    md5_GG a, b, c, d, x(k + 1), S21, &HF61E2562
    md5_GG d, a, b, c, x(k + 6), S22, &HC040B340
    md5_GG c, d, a, b, x(k + 11), S23, &H265E5A51
    md5_GG b, c, d, a, x(k + 0), S24, &HE9B6C7AA
    md5_GG a, b, c, d, x(k + 5), S21, &HD62F105D
    md5_GG d, a, b, c, x(k + 10), S22, &H2441453
    md5_GG c, d, a, b, x(k + 15), S23, &HD8A1E681
    md5_GG b, c, d, a, x(k + 4), S24, &HE7D3FBC8
    md5_GG a, b, c, d, x(k + 9), S21, &H21E1CDE6
    md5_GG d, a, b, c, x(k + 14), S22, &HC33707D6
    md5_GG c, d, a, b, x(k + 3), S23, &HF4D50D87
    md5_GG b, c, d, a, x(k + 8), S24, &H455A14ED
    md5_GG a, b, c, d, x(k + 13), S21, &HA9E3E905
    md5_GG d, a, b, c, x(k + 2), S22, &HFCEFA3F8
    md5_GG c, d, a, b, x(k + 7), S23, &H676F02D9
    md5_GG b, c, d, a, x(k + 12), S24, &H8D2A4C8A
     
    md5_HH a, b, c, d, x(k + 5), S31, &HFFFA3942
    md5_HH d, a, b, c, x(k + 8), S32, &H8771F681
    md5_HH c, d, a, b, x(k + 11), S33, &H6D9D6122
    md5_HH b, c, d, a, x(k + 14), S34, &HFDE5380C
    md5_HH a, b, c, d, x(k + 1), S31, &HA4BEEA44
    md5_HH d, a, b, c, x(k + 4), S32, &H4BDECFA9
    md5_HH c, d, a, b, x(k + 7), S33, &HF6BB4B60
    md5_HH b, c, d, a, x(k + 10), S34, &HBEBFBC70
    md5_HH a, b, c, d, x(k + 13), S31, &H289B7EC6
    md5_HH d, a, b, c, x(k + 0), S32, &HEAA127FA
    md5_HH c, d, a, b, x(k + 3), S33, &HD4EF3085
    md5_HH b, c, d, a, x(k + 6), S34, &H4881D05
    md5_HH a, b, c, d, x(k + 9), S31, &HD9D4D039
    md5_HH d, a, b, c, x(k + 12), S32, &HE6DB99E5
    md5_HH c, d, a, b, x(k + 15), S33, &H1FA27CF8
    md5_HH b, c, d, a, x(k + 2), S34, &HC4AC5665
     
    md5_II a, b, c, d, x(k + 0), S41, &HF4292244
    md5_II d, a, b, c, x(k + 7), S42, &H432AFF97
    md5_II c, d, a, b, x(k + 14), S43, &HAB9423A7
    md5_II b, c, d, a, x(k + 5), S44, &HFC93A039
    md5_II a, b, c, d, x(k + 12), S41, &H655B59C3
    md5_II d, a, b, c, x(k + 3), S42, &H8F0CCC92
    md5_II c, d, a, b, x(k + 10), S43, &HFFEFF47D
    md5_II b, c, d, a, x(k + 1), S44, &H85845DD1
    md5_II a, b, c, d, x(k + 8), S41, &H6FA87E4F
    md5_II d, a, b, c, x(k + 15), S42, &HFE2CE6E0
    md5_II c, d, a, b, x(k + 6), S43, &HA3014314
    md5_II b, c, d, a, x(k + 13), S44, &H4E0811A1
    md5_II a, b, c, d, x(k + 4), S41, &HF7537E82
    md5_II d, a, b, c, x(k + 11), S42, &HBD3AF235
    md5_II c, d, a, b, x(k + 2), S43, &H2AD7D2BB
    md5_II b, c, d, a, x(k + 9), S44, &HEB86D391
     
    a = AddUnsigned(a, AA)
    b = AddUnsigned(b, BB)
    c = AddUnsigned(c, CC)
    d = AddUnsigned(d, DD)
    Next
     
    If stype = 32 Then
    MD5 = LCase(WordToHex(a) & WordToHex(b) & WordToHex(c) & WordToHex(d))
    Else
    MD5 = LCase(WordToHex(b) & WordToHex(c))
    End If
    End Function
    Sub test()
    MsgBox MD5("a", 16) '16位加密
    MsgBox MD5("a", 32) '32位加密
    End Sub
    
    展开全文
  • VB读取excel文件

    2012-09-20 20:20:15
    该小程序可以实现VB对excel文档的调用,并且可以实现多次读取excel文档,而不会出现"对象变量或with块变量未设置"的实时错误。
  • VB 读取Excel表格数据并在ListView控件中显示
  • VB读取Excel的图片

    热门讨论 2009-01-14 16:02:27
    VB读取Excel的图片,读取EXCEl中的CHart图
  • vb读取excel数据[借鉴].pdf
  • vb.net读取excel表格

    2018-12-03 15:38:26
    vb.net读取excel表格内容,vb2005引用excel2007读取表格内容。
  • VB读取EXCEL

    2012-02-06 17:02:45
    VB读取EXCEL的内容显示在List上
  • vb读取excel中的数据并在窗体上显示

    万次阅读 2017-11-20 17:23:13
    Public ExcelTable As Workbook 'excel 工作表对象 Private TextBoxA() As Control '以编辑框为基础动态构造数据网格 Private FormWidth As Integer '窗体宽度 '以下子程序是用来建立数据网格...
    Public  ExcelTable  As  Workbook   'excel 工作表对象
    Private  TextBoxA()  As  Control       '以编辑框为基础动态构造数据网格
    Private  FormWidth  As  Integer        '窗体宽度
    '以下子程序是用来建立数据网格
    Sub  CreateGrid(No, Data)
         For  i = 1  To  CInt (UBound(Data, 1))
             For  j = 1  To  CInt (UBound(Data, 2))
                 Set  a = Form1.Controls.Add( "VB.TextBox" "textbox"  CStr (i) &  CStr (j) &  CStr (No))
                 ReDim  TextBoxA(1  To  i, 1  To  j)   '重新定义动态数组!
                 Set  TextBoxA(i, j) = a
                 With  TextBoxA(i, j)             '设置文本框属性
                     .Text = Data(i, j)
                     .Visible =  True
                     .Height = 200
                     .Width = 500
                     .Top = .Height * (i - 1)
                     .Left = .Width * (j - 1) + FormWidth
                 End  With
             Next
         Next
       
    End  Sub
     
    Private  Sub  Command1_Click()
         Set  ExcelTable = CreateObject( "Excel.sheet" '建立对象实例
         ExcelTable.Application.Workbooks.Open (App.Path +  "\address.xls" '打开数据文档address.xls
         For  i = 1  To  ExcelTable.Application.Worksheets.Count     '获得工作表数目
             Data = ExcelTable.Application.Worksheets(i).UsedRange.Value    '获取每个工作表的数据
             DataType = VarType(Data)       '跳过没有数据的空表
             Select  Case  DataType
             Case  vbArray + vbVariant
                 Call  CreateGrid(i, Data)    '传递数据,建立以文本框为基础的数据网格
             Case  vbEmpty
             End  Select
         Next
    End  Sub
    展开全文
  • VB操作Excel实现读取写入打印标签工具代码
  • VB读取EXCEL 编辑,

    2011-06-23 12:19:38
    vb读取excel中的数据并在窗体上显示 Public ExcelTable As Workbook 'excel 工作表对象 Private TextBoxA() As Control '以编辑框为基础动态构造数据网格 Private FormWidth As Integer '窗体宽度 '以下子程序是...
  • vb读取excel实例

    2012-12-16 23:02:59
    实例 vb excel 简单明了 易学易用
  • vb.net 读取Excel

    2020-12-11 12:38:17
    1、定义excel操作变量 dim objexcelfile as excel.application dim objworkbook as excel.workbook dim objimportsheet as excel.worksheet 2、打开excel进程,并打开目标excel文件 set objexcelfile = new excel....

    1、定义excel操作变量

    dim objexcelfile as excel.application

    dim objworkbook as excel.workbook

    dim objimportsheet as excel.worksheet

    2、打开excel进程,并打开目标excel文件

    set objexcelfile = new excel.application
    objexcelfile.displayalerts = false
    set objworkbook = objexcelfile.workbooks.open(strfilename)
    set objimportsheet = objworkbook.sheets(1)

    3、获取excel有效区域的行和列数

    intlastcolnum = objimportsheet.usedrange.columns.count
    intlastrownum = objimportsheet.usedrange.rows.count

    4、逐行读取excel中数据

    由于前两行为header部分,所以需要从第三行读取

    如果第1到第10个单元格的值均为空或空格,则视为空行

    for intcounti = 3 to intlastrownum

    check if empty data row

    blnnullrow = true

    for inti = 1 to 10

    if trim$(objimportsheet.cells(intcounti, inti).value) <> “” then

    blnnullrow = false

    end if

    next inti

    若不是空行,则进行读取动作,否则继续向后遍历excel中的行

    if blnnullrow = false then

    获取单元格中的数据,做有效性check,并将合法数据创建为实体存入对象数组中

    objimportsheet.cells(intcounti, 1).value

    ……

    end if

    next intcounti
    5、退出excel进程,并关闭excel相关操作对象

    objexcelfile.quit
    set objworkbook = nothing
    set objimportsheet = nothing
    set objexcelfile = nothing


    作者:shaniushamao
    来源:CSDN
    原文:https://blog.csdn.net/shaniushamao/article/details/55509576
    版权声明:本文为博主原创vb.net教程文章,转载请附上博文链接!

    展开全文
  • vb读取Excel数据+获得Excel工作表名

    热门讨论 2009-04-20 13:46:12
    用简单的例子说明vb连接Excel数据表 获得数据表的工作表名和查询其中的数据
  • VB读取EXCEL数据

    2007-10-27 16:24:04
    VB读取EXCEL数据
  • 股票管理系统(VB读取EXCEL代码示例)
  • 使用vb.net语言编写的excel文件数据读取和保存,可以实现读取数据的显示,希望大家可以多学习交流下。
  • VB 代码读取 Excel 内容

    万次阅读 2017-05-25 11:16:20
    此处使用Open Recordset 的方式,将 Excel Worksheet 作为一个数据源直接读取 速度将是数理级的差别,几万笔记录的情况下,将由几十秒,甚至几分钟,加快至几稍钟 '导入Excel 文件内容 'Excel 格式为 Excel 2007 ...
  • 添加一个按钮和CommonDialog控件 如下图 工程引用如下图 ... Me.CommonDialog1.Filter = "Excel (*.xls;*.xlsx)|*.xls;*.xlsx|" '过滤文件 Me.CommonDialog1.FilterIndex = 2 Me.CommonDialog1.ShowOpen
  • vb如何读取excel文件

    万次阅读 2016-10-05 11:52:29
    转自:...1、调用Excel对象打开EXCEL文件后,读取文件内容 ************************
  • VB读取长二进制实例(集成于EXCEL文件中),打开EXCEL即可运行窗体,附带ACCESS数据库,读取后分别放到了C:\temp1.rar ,temp2.rar ...中
  • VB读取excel表中的数据

    千次阅读 2010-11-17 10:10:00
    在“工程”的“引用”中选择“microsoft excel 11.0”,"microsoft excel 11.0"看版本而定 Dim xlApp As New Excel.Application Dim xlBook As New Excel.Workbook Dim xlSheet As New Excel....
  • VB.NET NPOI读取EXCEL数据到DataTable

    千次阅读 2020-01-05 16:02:16
    Imports NPOI.HSSF.UserModel Imports NPOI.SS.UserModel Imports NPOI.XSSF.UserModel ''' <... ''' 获取EXCEL表格真正的值 ''' </summary> ''' <param name="cell"></par...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,922
精华内容 2,368
关键字:

vb读取excel

友情链接: MGNDS4.rar