Listar los vínculos que hay en una página web.

09/08/2009 - 18:19 por Jose | Informe spam
Saludos a todos:

Con éste código podía acceder a una página web (es la URL que tengo en
la celda "G3"):

ActiveWorkbook.FollowHyperlink Address:=Range("G3").Value,
NewWindow:=True

¿Pero sabeís si existe alguna manera de obtener una lista de los
enlaces, (vínculos), que hay en dicha página web?.

Muchas gracias.

Saludos
Jose

Preguntas similare

Leer las respuestas

#11 Jose
11/08/2009 - 01:58 | Informe spam
Hola Hector:

He conseguido importar así:

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;http://www.bestinver.es/grafico/ChartImages/
BESTINFOND_20773623794332.csv" _
, Destination:=Range("AE17"))
.Name = "BESTINFOND_20773623794332_4"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With



Sólo me faltaría adaptar esta parte:

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;http://www.bestinver.es/grafico/ChartImages/
BESTINFOND_20773623794332.csv" _
, Destination:=Range("AE17"))
.Name = "BESTINFOND_20773623794332_4"


para escribirlo con éstas variables que me dejate: "Raiz" y "Datos"
¿Cómo lo tendría que escribir?

Muchas gracias.
Un saludo
Jose.
Respuesta Responder a este mensaje
#12 Jose
11/08/2009 - 02:10 | Informe spam
Hola Hector:

He conseguido importar así:

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;http://www.bestinver.es/grafico/ChartImages/
BESTINFOND_20773623794332.csv" _
, Destination:=Range("AE17"))
.Name = "BESTINFOND_20773623794332"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

Sólo me faltaría adaptar esta parte:

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;http://www.bestinver.es/grafico/ChartImages/
BESTINFOND_20773623794332.csv" _
, Destination:=Range("AE17"))
.Name = "BESTINFOND_20773623794332"

para escribirlo con éstas variables que me dejate: "Raiz" y "Datos"
¿Cómo lo tendría que escribir?

Muchas gracias.
Un saludo
Jose.
Respuesta Responder a este mensaje
#13 Héctor Miguel
11/08/2009 - 02:41 | Informe spam
hola, Jose !

He conseguido importar asi: (...)
Solo me faltaria adaptar esta parte:

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;http://www.bestinver.es/grafico/Cha....csv" _
, Destination:=Range("AE17"))
.Name = "BESTINFOND_20773623794332"

para escribirlo con estas variables que me dejate: "Raiz" y "Datos"
Como lo tendria que escribir?



+/- asi:

With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Raiz & Datos, Destination:=Range("ae17"))
.Name = Left(Datos, Len(Datos) - 4))

saludos,
hector.
Respuesta Responder a este mensaje
#14 Héctor Miguel
11/08/2009 - 05:48 | Informe spam
hola (de nuevo), Jose !

estaba tratando de cambiar la ultima propuesta:
Workbooks.OpenText Raiz & Datos



para incorporar los parametros del metodo OpenText que permiten administrar opciones +/- como...

Workbooks.OpenText Raiz & Datos, _
DataType:=xlDelimited, _
Semicolon:=True, _
Comma:=False, _
FieldInfo:=Array(Array(1, 4), Array(2, 1))

PERO... este metodo presenta un inconveniente cuando el *.CSV (Raiz & Datos)
utiliza separadores diferentes entre las configuraciones regionales del equipo "origen" y el equipo que lo abre/lee/... :-((

el inconveniente es que la EXTension *.CSV toma (por omision) algunos parametros del registro en el equipo "destino"
y el cambio de Semicolon:=True y Comma:=False ya NO son "procesados" (en vba) de manera transparente
(quedan ligados a los parametros de la configuracion regional del equipo "destino")

para que el metodo .OpenText pueda "manipular" (libremente) sus argumentos, el *.CSV debe convertirse a *.TXT
(obviamente, descargando el *.CSV original en alguna carpeta de tu disco duro y REnombrarlo como *.TXT)

saludos,
hextor.

__ previos __
He conseguido importar asi: (...)
Solo me faltaria adaptar esta parte:

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;http://www.bestinver.es/grafico/Cha....csv" _
, Destination:=Range("AE17"))
.Name = "BESTINFOND_20773623794332"

para escribirlo con estas variables que me dejate: "Raiz" y "Datos"
Como lo tendria que escribir?



+/- asi:

With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Raiz & Datos, Destination:=Range("ae17"))
.Name = Left(Datos, Len(Datos) - 4))
Respuesta Responder a este mensaje
#15 Jose
11/08/2009 - 13:43 | Informe spam
Hola Héctor.

Sí, he visto que se puede hacer Importando. Y también he probado
abriéndolo, (.Open), después lo guardo como .csv, después lo cierro,
luego lo vuelvo a abrir... y me queda perfecto: la columna de las
fechas y la columna del valor del fondo.

Muchas gracias por tu ayuda. La macro que me has dejado es buenísima.
Muchas gracias.
Un saludo
Jose
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida