Jump to content

Busqueda en Internet con link cambiante


Recommended Posts

buenas noches, dispongo de esta macro para navegar dentro de una pagina web

 

Sub test()

    Dim IE As Object
    Set IE = CreateObject("InternetExplorer.Application")

    With IE
        .Top = 0
        .Left = 0
        .height = 1000
        .Width = 1050
        .Visible = True
        .Navigate "www.google.com"

        Do While .Busy Or Not .ReadyState = 4: DoEvents: Loop


       
    End With
End Sub

estoy tratando de cambiar el "www.google.com" por el valor de una celda, específicamente concatenando el texto inicial del link (www.google.com/) y el texto de una celda que quiero buscar, por ejemplo:

el texto inicial seria www.google.com/

celda a1  contiene el texto "item1" por lo que el link debería quedar como: www.google.com/item1
celda a2 contiene el texto "item2"por lo que el link debería quedar como: www.google.com/item2

he intentado de las siguientes formas

.Navigate Range("a" & CStr(i)).Hyperlinks(1).Address  (utilizando el link completo en una celda)

también he probado con 

.Navigate "www.google.com/ & CStr(i)"   tratando de dejar www.google.com/ como texto fijo y utilizando el valor de las celdas a1 y a2, pero no logro resultados

 

    Dim IE As Object
    Set IE = CreateObject("InternetExplorer.Application")
Dim rng As Range
    Set rng = Range("r1", Range("r200"))
    counter = rng.Count
For i = 1 To counter

With IE
        .Top = 0
        .Left = 0
        .height = 1000
        .Width = 1550
        .Visible = True
        .Navigate Range("a" & CStr(i)).Hyperlinks(1).Address
        Do While .Busy Or Not .ReadyState = 4: DoEvents: Loop


End With
        End If
        Next i
        
      
        End Sub

por favor agradecería mucho cualquier tipo de ayuda para aclarar la forma en la que debo escribir el código

 

gracias

 

Link to post
Share on other sites

Hola

Si tu intención es abrir diferentes páginas cuyo dominio es el mismo, no es necesario que en el bucle determines el tamaño y la visibilidad, basta hacerlo al inicio, así será un poco más rápido. Sobre como agregas el valor de cada celda, hay un dilema de concepto, en realidad basta tener algo así:

.navigate "https://www.google.com.pe/" & Range("A" & i)

Claro, eso en el entendido de que en cada celda está correctamente escrito el sub dominio y su extensión. Saludos.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Crear macros Excel

  • Posts

    • Esto: If Dir(ActiveWorkbook.Path & "\tb_Cobros.txt") <> "" Then existe = True Sustituye a esto: ruta = ActiveWorkbook.Path archivo = Dir(ruta & "\*.*") Do Until archivo = "" coleccion_archivos.Add archivo archivo = Dir() Loop For i = coleccion_archivos.Count To 1 Step -1 If coleccion_archivos(i) = "tb_Cobros.txt" Then existe = True End If Next i  
    • Hola Seguro lo tuyo es un filtro avanzado... busca por aquí en el foro, sobre ese tema, hay variedad de soluciones que hemos aportado con el tiempo   Saludos 
    • Hola Si bien es cierto que esto se puede hacer con Vba, lo que intentas hacer es improductivo, desde el punto de vista sobre el uso adecuado de Excel Te dejo una alternativa para que puedas filtrar a gusto, sin necesidad de ir buscando dentro de la misma base de datos esos criterios de filtro   Saludos  Libro3.xlsx
    • Buenas, Estoy intentando realizar un macros que me lea los registros que cumplan una condición y me los pegue en otra hoja en la celda que le marco. He probado con esta macro, pero no me lo hace correcto me da error Sub Copiar_datos()  
    • Buenas tardes; -He conseguido algo con este código, imagino que se podrá mejorar . -Si a alguno se le ocurre algo mejor que me lo diga. Saludos. Private Sub btn_Txt_Click(): On Error Resume Next Dim ruta As String, i As Integer, existe As Boolean, coleccion_archivos As New Collection, archivo As String Dim Sep As String, x As Integer, z As Integer, Cuenta As Integer ruta = ActiveWorkbook.path archivo = Dir(ruta & "\*.*") Do Until archivo = "" coleccion_archivos.Add archivo archivo = Dir() Loop For i = coleccion_archivos.Count To 1 Step -1 If coleccion_archivos(i) = "tb_Cobros.txt" Then existe = True End If Next i If existe = True Then z = MsgBox("Ya existe el archivo de texto.¿Deseas eliminardo?", vbYesNo) If z = vbYes Then Kill ActiveWorkbook.path & "\tb_Cobros.txt" existe = False Else Open ActiveWorkbook.path & "\tb_Cobros.txt" For Append As #1 End If End If If existe = False Then Open ActiveWorkbook.path & "\tb_Cobros.txt" For Output As #1 MsgBox "El archivo txt fue creado" End If Cuenta = frm_Cobros.ListBox1.ListCount Sep = ";" Print #1, "Fecha: " & Date For x = 0 To Cuenta - 1 If Me.ListBox1.Selected(x) = True Then MsgBox Me.ListBox1.List(x), vbInformation, "Registro" TextBox0 = ListBox1.List(x, 0) TextBox50 = ListBox1.List(x, 1) TextBox51 = ListBox1.List(x, 2) TextBox4 = Format(ListBox1.List(x, 3), "dd/mm/yyyy") TextBox5 = ListBox1.List(x, 4) TextBox10 = ListBox1.List(x, 5) TextBox6 = ListBox1.List(x, 6) TextBox11 = ListBox1.List(x, 7) TextBox7 = ListBox1.List(x, 8) TextBox8 = ListBox1.List(x, 9) TextBox12 = ListBox1.List(x, 10) Print #1, TextBox0 & Sep & TextBox50 & Sep & TextBox51 & Sep & TextBox4 & Sep & TextBox5 & Sep & TextBox10 & Sep & TextBox6 & Sep & TextBox11 & Sep & TextBox7 & Sep & TextBox8 & Sep & TextBox12 End If Next x Print #1, "-" Close #1 End Sub  
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy