使用 vba 将我当前帐户的余额从网页复制到 Excel [英] Copy with vba to Excel the balance of my current account from a web page

查看:26
本文介绍了使用 vba 将我当前帐户的余额从网页复制到 Excel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在论坛的帮助下,我创建了一个宏 vba 来连接到我的银行网站,输入用户名和密码并正确登录.一旦我使用 vba 的宏登录,我就会转到另一个页面,其中我的银行账户余额是我想要复制到 Excel 的数据.我想要的数据是我放在下面的 html 代码中显示 999.99 的位置.

我必须在 vba 代码中添加什么才能做到这一点?

这是宏的代码.

'VBE >工具 >参考:' 微软互联网控制公共子 SaldoActivo()Dim ie 作为 Internet Explorer设置 ie = 新 InternetExplorer与即.可见 = 真.Navigate2https://www.activobank.com/cs/Satellite/BC/"虽然 .Busy 或 .readyState <4:DoEvents:温德.document.querySelector("[name=userDNI]").Value = "123456789".document.querySelector("[name=pinNif]").Value = "123456789".document.querySelector("#button1").点击虽然 .Busy 或 .readyState <4:DoEvents:温德' 导航第二页.Navigate2 "https://www.activobank.com/activobank/CUGlobalPositionNew.init.bs"虽然 .Busy 或 .readyState <4:DoEvents:温德结束于‘这里我需要复制账户余额数据的代码即退出设置 ie = 无结束子

这里是复制账户余额数据的代码

<!-- ELEMENTOS DEL BLOQUE --><table border="0" width="494" cellpadding="0" cellspacing="1" bgcolor="white" style="margin-bottom:10px"><tr class=apartado ><td width="20" class="a12" height="10" align="right"><a href='javascript:plegarDesplegar("1","CC");'><img id="_CC" src="/neti/images/AB/expandir.gif" border="0"></a></td><td class="a12" width="354" height="15" valign="center" align="left"><b>&nbsp;Cuentas a la vista</b></td><td width="120" height="15" valign="center" align="right"><!-- 米洛拉--><span class="a12b">999,99&欧元;</span></td></tr><div id="_CC0" style="display:none"><table border="0" width="494" cellpadding="0" cellspacing="0" bgcolor="white"><!-- JV-18725 Añadimos CI --><!-- Boton edicioncuenta --><td class="a11" width="195" height="15" align="left" valign="top" nowrap><table class="septd2"><tr><td style="padding-left:20px" valign="center" align="left" width="10"><a href='javascript:mostrarEdicion("_CC0");'><img id="_BtEdicion__CC0" name="_BtEdicion" src="/neti/images/AB/Lapiz-11x11.png" border=0></a></td><td align="left" class="a11"><div id="_CC0_CC">CUENTA ACTIVA

<div id="_CC0_M" style="display:none;"><span class="returnicon"><脚本>函数validate_CC0(){var valueInput = document.getElementById("_CC0_IN").value;valueInput = valueInput.replace(/[^A-Za-z0-9\u002e\s\u002c\u003a\u003b\u003f\u0021\u002d\u005f\u00A1\u00BF\u002D\u00E1\u00E4\u00E\u00E9\u00E8\u00ED\u00EC\u00EF\u00F1\u00F6\u00F3\u00F2\u00FA\u00F9\u00FC\u00C4\u00C1\u00C0\u00C7\u00C0D\u00C7\u00C00D\u00C7\u00C00D\u00C0D\u00C0D\u00C00D\u00D6\u00DA\u00D9\u00DC\u00A1\u00BF]/g,"");document.getElementById("_CC0_IN").value = valueInput;document.getElementById("_CC0_CC").innerHTML = valueInput;}<input id="_CC0_IN" type="text" maxlength="25" onblur='validate_CC0();timeNameAccountAuto("/activobank/","_CC0_IN","xxxxx","CUENTA ACTIVA","2","La descripción debe contener como minimo 3 caracteres","La descripción debe contener como máximo 25 caracteres");'onkeydown='return validateExit(event)' onKeyPress='validate_CC0();return validateKeyPress(event,"xxxxxxx","/activobank/","La descripción debe contener como mínimo 3 caracteres","2","CUENTA ACTIVA","La descripción debe contener como máximo 25 caracteres")'/><a href='javascript:getNameAccount("_CC0","xxxxx","/activobank/","CUENTA ACTIVA","2");'><img src="/neti/images/AB/Borrar-9x9.png" border=0 ></a></span>

</td></tr><tr><td style="padding-left:20px" valign="center" align="left" width="10">&nbsp;</td><td class="a11" width="230" height="15" align="left" valign="center" colspan="2"><input type="hidden" value="" name="alias_cc_2

解决方案

基于完整的 html

ie.document.getElementsByClassName("septd")(5).getElementsByTagName("span")(1).innerText

还有,

ie.document.getElementsByTagName("td")(39).innerText

With the help of the forum I created a macro vba to connect to the web of my bank, put the username and password and make the login correctly. Once I have logged in with the macro of vba, I go to another page where the balance of my bank account is and those are the data that I want to copy to Excel. The data I want is where it says 999.99 in the html code that I put below.

What do I have to add to the vba code to do it?

Here is the code of the macro.

'VBE > Tools > References:
' Microsoft Internet Controls
Public Sub SaldoActivo()
    Dim ie As InternetExplorer
    Set ie = New InternetExplorer

    With ie
        .Visible = True
        .Navigate2 "https://www.activobank.com/cs/Satellite/BC/"

        While .Busy Or .readyState < 4: DoEvents: Wend

        .document.querySelector("[name=userDNI]").Value = "123456789"
        .document.querySelector("[name=pinNif]").Value = "123456789"
        .document.querySelector("#button1").Click

        While .Busy Or .readyState < 4: DoEvents: Wend

       ‘ Navigate second page with 
        .Navigate2 "https://www.activobank.com/activobank/CUGlobalPositionNew.init.bs"

        While .Busy Or .readyState < 4: DoEvents: Wend

    End With

‘Here I need the code to copy the account balance data

ie.Quit
Set ie = Nothing

End Sub

Here is the code to copy the account balance data

<!-- /1. Ahorro Inversión -->         
<!-- ELEMENTOS DEL BLOQUE -->
<table border="0" width="494" cellpadding="0" cellspacing="1" bgcolor="white" style="margin-bottom:10px">
<tr  class=apartado >
<td width="20" class="a12" height="10" align="right">
<a href='javascript:plegarDesplegar("1","CC");' >
<img id="_CC" src="/neti/images/AB/expandir.gif" border="0">
</a>
</td>
<td class="a12" width="354" height="15" valign="center" align="left"><b>&nbsp;Cuentas a la vista
</b>
</td>
<td width="120" height="15" valign="center" align="right">
<!-- MILLORA -->
<span class="a12b">999,99
&euro;
</span>
</td>
</tr>
</table>

<div id="_CC0" style="display:none">
<table border="0" width="494" cellpadding="0" cellspacing="0" bgcolor="white">
<!-- JV-18725 Añadimos CI -->
<tr class="fila1">
<!--  Boton edicion cuenta -->
<td class="a11" width="195" height="15" align="left" valign="top" nowrap>
<table class="septd2">
<tr>
<td style="padding-left:20px" valign="center" align="left" width="10">
<a href='javascript:mostrarEdicion("_CC0");' >
<img id="_BtEdicion__CC0" name="_BtEdicion" src="/neti/images/AB/Lapiz-11x11.png" border=0>
</a>
</td>
<td align="left" class="a11">
<div id="_CC0_CC">
CUENTA ACTIVA
</div>
<div id="_CC0_M" style="display:none;">
<span class="returnicon">
<script>
function validate_CC0(){
var valueInput = document.getElementById("_CC0_IN").value;
valueInput = valueInput.replace(/[^A-Za-z0-9\u002e\s\u002c\u003a\u003b\u003f\u0021\u002d\u005f\u00A1\u00BF\u002D\u00E4\u00E1\u00E0\u00E7\u00EB\u00E9\u00E8\u00ED\u00EC\u00EF\u00F1\u00F6\u00F3\u00F2\u00FA\u00F9\u00FC\u00C4\u00C1\u00C0\u00C7\u00CB\u00C9\u00C8\u00CD\u00CC\u00CF\u00D1\u00D3\u00D2\u00D6\u00DA\u00D9\u00DC\u00A1\u00BF]/g,"");
document.getElementById("_CC0_IN").value = valueInput;
document.getElementById("_CC0_CC").innerHTML = valueInput;
}
</script>
<input id="_CC0_IN" type="text" maxlength="25" onblur='validate_CC0();timeNameAccountAuto("/activobank/","_CC0_IN","xxxxx","CUENTA ACTIVA","2","La descripción debe contener como mínimo 3 caracteres","La descripción debe contener como máximo 25 caracteres");' onkeydown='return validateExit(event)' onKeyPress='validate_CC0();return validateKeyPress(event,"xxxxxxx","/activobank/","La descripción debe contener como mínimo 3 caracteres","2","CUENTA ACTIVA","La descripción debe contener como máximo 25 caracteres")'/>
<a href='javascript:getNameAccount("_CC0","xxxxx","/activobank/","CUENTA ACTIVA","2");' >
<img src="/neti/images/AB/Borrar-9x9.png" border=0 >
</a>
</span>
</div>
</td>
</tr>
<tr>
<td style="padding-left:20px" valign="center" align="left" width="10">&nbsp;</td>
<td class="a11" width="230" height="15" align="left" valign="center" colspan="2">
<input type="hidden" value="" name="alias_cc_2

解决方案

Based on full html

ie.document.getElementsByClassName("septd")(5).getElementsByTagName("span")(1).innerText

Also,

ie.document.getElementsByTagName("td")(39).innerText

这篇关于使用 vba 将我当前帐户的余额从网页复制到 Excel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
其他开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆