在HTML中创建宏

时间:2013-12-13 12:52:50

标签: html excel vba

我想创建一个网页,将用户重定向到登录页面,并使用我拥有的单个日志自动登录。 (我不希望他们有这个登录信息 - 我只是想让它自动完成)。

我使用VBA创建了宏,它在那里工作。我想知道是否有任何在我的HTML代码中实现这个或者我是否必须用另一种编码语言重写宏?

我的VBA代码是:

Sub Test()

    Const cURL = "http://www.google.com" 'Enter the web address here
    Const cUsername = "user1" 'Enter your user name here
    Const cPassword = "*****" 'Enter your Password here

    Dim IE As InternetExplorer
    Dim doc As HTMLDocument
    Dim LoginForm As HTMLFormElement
    Dim UserNameInputBox As HTMLInputElement
    Dim PasswordInputBox As HTMLInputElement
    Dim SignInButton As HTMLInputButtonElement
    Dim HTMLelement As IHTMLElement
    Dim qt As QueryTable

    Set IE = New InternetExplorer

    IE.Visible = True
    IE.Navigate cURL

    'Wait for initial page to load

    Do While IE.ReadyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

    Set doc = IE.Document

    'Get the only form on the page

    Set LoginForm = doc.forms(0)

    'Get the User Name textbox and populate it
    'input name="Email" id="Email" size="18" value="" class="gaia le val" type="text"

    Set UserNameInputBox = LoginForm.elements("user")
    UserNameInputBox.Value = cUsername

    'Get the password textbox and populate it
    'input name="Passwd" id="Passwd" size="18" class="gaia le val" type="password"


    Set PasswordInputBox = LoginForm.elements("pass")
    PasswordInputBox.Value = cPassword

    'Get the form input button and click it
    'input class="gaia le button" name="signIn" id="signIn" value="Sign in" type="submit"

    Set SignInButton = LoginForm.elements("LOG_ON_BTN")
    SignInButton.Click

    'Wait for the new page to load

    Do While IE.ReadyState <> READYSTATE_COMPLETE Or IE.Busy: DoEvents: Loop

    End Sub

如果有人知道如何在html中实现宏,那会很棒吗?

2 个答案:

答案 0 :(得分:0)

HTML是一种标记语言。它没有必要的编程结构。

如果您使用ASP(经典ASP)提供页面,我认为您可以使用VBA或其非常相似的变体。或者调整VB.Net的代码并使用ASP.NET

答案 1 :(得分:0)

Html确实有一些宏支持,但不是你想要的那种(http://metahtml.sourceforge.net/examples/defining-macros.mhtml

由于html是一种标记语言,因此无法进行重定向。如果您使用MVC构建您的网站,则很容易实现所需的行为。

如果您不使用MVC,则必须使用ASP.Net并将宏重写为c#或vb.net。