ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1645|回复: 5

[求助] 如何将网页源码转为vba

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-3-5 21:40 | 显示全部楼层 |阅读模式
本帖最后由 zss427607 于 2015-3-7 21:42 编辑

        各位高手以下维网页源码如何才能转为vba可运行代码?
   
               
                                        if(theStringLength < 6 || theStringLength > 20){
                                                s = "week";
                                        }else{
                                        for (var i = 0; i < theStringLength; i++)
                                        {
                                            var inttmp = strelement.charCodeAt(i);
                                
                                            if (inttmp > 126)//z=126 0=48 9=57 A=65 Z=90 a=97
                                            //^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串
                                            {
                                                    s = "week";
                                            }else{
                                                                if(inttmp > 47 && inttmp < 58)
                                                                        i1 ++;
                                                                else if(inttmp > 64 && inttmp < 91)
                                                                        i2 ++;
                                                                else if(inttmp > 96 && inttmp < 127)
                                                                        i2 ++;
                                                                }
                                            }
                                            if(i1 >0 && i2 >0){
                                                }
                                                else{
                                                        s = "week";
                                                }
                                }

            }



TA的精华主题

TA的得分主题

发表于 2015-3-6 08:56 | 显示全部楼层
按要实现的效果重新写吧

TA的精华主题

TA的得分主题

发表于 2015-3-6 10:54 | 显示全部楼层
Function validateCode()
    Dim i1 As Long
    Dim i2 As Long
    Dim s As String
    Dim strelement As String
    Dim theStringLength As Long
    Dim i As Long
    Dim inttmp As Long
    Dim pos As String
    Dim res
   
    i1 = 0
    i2 = 0
    s = "strong"
    strelement = document.getElementById("mm").Value 'document是html的document对象
    theStringLength = Len(strelement)
   
    If theStringLength < 6 Or theStringLength > 20 Then
        s = "week"
    Else
        For i = 0 To theStringLength - 1
            inttmp = ChrW(Mid(strelement, i + 1, 1))
            
            If inttmp > 126 Then
                s = "week"
            Else
                If inttmp > 47 And inttmp < 58 Then
                    i1 = i1 + 1
                ElseIf inttmp > 64 And inttmp < 91 Then
                    i2 = i2 + 1
                ElseIf inttmp > 96 And inttmp < 127 Then
                    i2 = i2 + 1
            End If
        Next
        
        If i1 > 0 And i2 > 0 Then
        Else
            s = "week"
        End If
    End If
    pos = "mm=" & s
    res = openHttpurl("checkMm.jsp", pos) 'openHttpurl是自定义函数
End Function

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-6 22:01 | 显示全部楼层
wcymiss 发表于 2015-3-6 10:54
Function validateCode()
    Dim i1 As Long
    Dim i2 As Long

谢谢吴姐的帮助,最近学习您的抓取网页教程。
遇到一个问题,想在次请教一下。
           .Open "POST", "http:x", False
           .setRequestHeader "Host", ""
           .setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0"
           .setRequestHeader "Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
           .setRequestHeader "Accept-Language", "zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3"
           .setRequestHeader "Accept-Encoding", "gzip, deflate"
           .setRequestHeader "X-MicrosoftAjax", "Delta=true"
           .setRequestHeader "Cache-Control", "no-cache"
           .setRequestHeader "Referer", "http:"
           .setRequestHeader "Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"
           .setRequestHeader "Content-Length", Len(postdata)   'POST提交的长度信息
           .setRequestHeader "Cookie", "strCookie"
           .setRequestHeader "Connection", "Keep-Alive"
           .setRequestHeader "Pragma", "no-cache"
           .send (postdata
以上代码是查询用的包含至少10项查询,但是从1-5项查询,结果显示不全(只显示响应的下半部分),6-10项完全正常,请问该如何处理?

点评

立即窗口只能显示一定量的字符。  发表于 2015-3-9 08:51

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-3-6 22:03 | 显示全部楼层
战战如疯 发表于 2015-3-6 08:56
按要实现的效果重新写吧

是网页验证密码的长度的代码,为POST请求提供值。

TA的精华主题

TA的得分主题

发表于 2017-3-26 16:08 | 显示全部楼层
wcymiss 发表于 2015-3-6 10:54
Function validateCode()
    Dim i1 As Long
    Dim i2 As Long


吴姐,这个转码怎么转啊?


上次在这回的帖 http://club.excelhome.net/forum. ... d=764320&page=2
怎么跑到这里了,http://club.excelhome.net/thread-1159783-98-1.html

转码在附件里。感谢吴姐!
2017-03-26_043733.jpg
2017-03-26_043655.jpg

Log_20170323,194322.7z

14.08 KB, 下载次数: 1

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-24 08:01 , Processed in 0.046515 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表