Vous êtes sur la page 1sur 9

11/9/2015

Obtenerdatosdeunapginaweb:HojasdeclculoExcel

AnunciosGoogle

PDF

Excel

PDFtoExcel

Hojasdeclculoexcel

PaginaswebHTML

Buscarenelblog

Obtenerdatosdeunapginaweb
Lautilidadquehoyospresentomegustaespecialmente,porque
nos puede ahorrar muchas visitas a determinadas pginas de
internetquehabitualmenteconsultamosparaobteneralgndato.
DesdenuestrasiempresocorridahojadeclculoExcel,vamosa
sercapacesdecontrolarloquepasaenlared,sinnecesidadde
abrirnitansiquiera,nuestronavegador.
Con un clic en nuestra hoja de clculo, recogeremos esa
informacin de las diversas fuentes que nos interesan. Incluso
nospodemosahorrareseclic,sielmacroquecontengaelcdigo
para obtener los datos que nos interesan de una web, se llama
Auto_open(), o si lo grabamos en el evento Open de nuestro
librodetrabajo.
Pero vamos a ver que es eso tan interesante, que podemos
obtenerdeunapginaweb...

Silainformacinquehasencontrado
enestebloghasidodetuinters,te
agradeceraquedejasesun
comentario)

Cuntasveceshasnecesitadoobtenerlacotizacinenesemismoinstante,deldlar,delyen,odelalibraesterlina,ytehas
tenidoquebuscarlavidanavegandopordiferenteswebs,hastaquehasdadoconunaquetenalainformacinquebuscabas?.
O quizs eres inversor, y te interesa obtener los datos de algunos o todos los valores del IBEX 35, del NASDAQ 100, del
EUROSTOXX50,odecualquierotrondiceburstil,parapoderoperarconesosdatosentuhojadeclculo,ypoderefectuar
tusanlisis?.Oquizsestsplanificandotuagenda,yteinteresasaberquetiempovaahacermaana,ysabesquetalocual
web,publicaperidicamenteensupginaesasprevisiones?.
Entodosestoscasos,yenmuchsimosmsquepuedasimaginar,nosvaasertilelmacroquehoyospresento.Trataremos
deaveriguaresedatoquetantonosinteresa,deunapginawebdeterminada,sinabrirelnavegador,ysinentrarenesaweb,
aunqueevidentemente,necesitaremostenerunaconexinainternet.Eldatoquenosinteresa,loescribiremosenunaceldade

Artculospublicados

nuestrahojadeclculo.Tepareceincreble?.Puesquesepasqueconunmacrocomoeste,vasapoderlucirtedelantedetus
compaerosdetrabajo,einclusodelantetujefe.Aprovechaparapedirleunaumentodesueldo)

130artculospublicados

Vamosavertodoestoconunsencilloejemplo.Trataremosdeaveriguarcualeslaltimacotizacindisponibledeldlarfrente
AnunciosGoogle

DiseowebHTML
Abrirpaginaweb
MacrosenExcel

Enqucolumnastenemoslosdatos
quebuscamos?
Obtenerunconsolidado,extrayendolos
datosdediferentesficheros
ObtenervaloresnicosenExcel
PlantillasExcel
33UtilidadesparaMicrosoftExcel
CalendarioemergenteenExcel
Controlarvencimientosdefacturasy
recibos,condescuentocomercial
Buscarvaloresenunrangodedatos
Mostrarimgenesenunformulario
Mediasponderadas
Incluiruncalendarioenunformulario
Calcularvencimientos
Controlarvencimientosdefacturasy
recibos
Prstamossegnelmtodoamericano
Prstamosconamortizacindecapital
constante
CalcularelVAN,paraperiodos
irregulares
Calculadoradetiempos
Habilitarydeshabilitarcontrolesdeun
formulario
Lahojadeclculo

al euro. Lo primero que necesitaremos es saber de qu fuente vamos a recoger esa informacin, es decir, de que sitio web.
Podemos obtener esa informacin de cualquier entidad financiera, del banco central de cada pas, de cualquier agencia o
sociedaddevaloresybolsa,ydemuchaswebsespecializadasentemaseconmicosyfinancieros.Parailustraresteejemplo,
he seleccionado como fuente de informacin, la web www.finanzas.com. Concretamente la informacin que nos interesa, la
tenemosenestapgina:
http://www.finanzas.com/divisas/usdeur/

El aspecto que presenta la pgina a da 07/06/2012, fecha en la que he actualizado este artculo, es este que os presento a
continuacin.Siosfijis,hemarcadoconunaflechaloquebuscaremos:

http://www.hojasdecalculoexcel.com/2009/09/obtenerdatosdeunapaginaweb.html

1/9

11/9/2015
CalcularlaTAE
CalcularlaTIRdeunainversin,para
periodosirregulares
Prstamosyclculodehipotecas
Modificardatos,utilizandoun
formulario
ProtegiendonuestrostrabajosenExcel
Introducirdatosusandounformulario
Calendariosparaimprimir
EnviarunemaildesdeExcel
Ejecutarunamacroaunahora
determinada
Obtenerdatosdeunapginaweb
Ejecutarmacroalseleccionarun
elementodeuncombobox
Espaciolibreyespaciototalendisco
Validarlaentradadedatosenun
formulario
Ejecutarvariasmacrosalavez
Forzarlaescrituraenmaysculas(o
minsculas)
Nmerosaleatoriosnorepetidos
Fechadecreacin,modificacin,
ltimoacceso,ypesoenKbdeun
fichero
Leerotroficheroexcel
Formulariosdinmicos
CalcularlaTIRyelVAN
Buscarhojasocultas
Informardequeestejecutndoseun
macro
ObtenerelnombredelPC
Leerlastablasdeunabasededatos
Access
CompactarunabasededatosAccess,
desdeExcel
Ejecutarunmacroalcambiaruna
celda
Importardatosconcretosdeunfichero
detexto
CombinarcorrespondenciaconExcely
Word
Calcularelvencimientorealdefacturas
Ponerleunnombrealasceldas
Combobox:sacndolesprovecho
Usuarios,hojas,ypermisos
Asociarunmacroaunbotn
Solver:clculodelaTIR
Comboboxdependientes
Horasde100minutos,yconversinde
unidadesdetiempo
Impedirquesecambieelnombreauna
hoja
Evolucindeuncapitalainters
simpleeinterscompuesto
Euroconversor
Listarlosarchivosdeundirectorio
Convertirunidadesdetiempoaformato
hh:mm:ss
Calcularelumbralderentabilidad,con
excel
Llenardinmicamenteuncombobox
Controlhorario:horasnormales,y
horasextras
HPiPaq614C,conexcelenelbolsillo
Mostraryocultarhojas,utilizando
macros
Controlarloscambiosenficheros
compartidos
Mostrarimgenesasociadasaun
desplegable
Validacindelistasdependientes
Sabersiexisteunfichero
Convertirunidadesdetiempo:horas,
minutos,ysegundos
Validacincondatosenotrahoja
Crearungrfico,conunmacro
MiprimerCombobox
EllibroPERSONAL.XLS(XLSB)
Formulariosinteligentes
Mssobrelasfuncionesdebasesde
datospersonalizadas
Funcionesdebasesdedatos
personalizadas
Volviendoconlosnmerosaleatorios
Sencillaaplicacinenexcel

Obtenerdatosdeunapginaweb:HojasdeclculoExcel

Simiramoselcdigofuente,veremosesto(ojo,quelacotizacinserotra,simiriselcdigofuentedeesapgina,puesvara
constantemente):

Cmo vamos a obtener esa informacin?. Pues de una forma relativamente sencilla. A travs del objeto XMLHTTP, lo que
haremosserabriresapginaweb,peronocomolaveunusuario,sinocomolaveunbuscador,oinclusounwebmasterque
desarrollaeldiseoylaprogramacindeunapginaweb,esdecir,"leyendo"sucdigofuente.Elcdigofuentedeunapgina
web,lopodisverdesdevuestronavegadorfavorito(InternetExplorer,Firefox,Chrome,Opera,Safari,etc.),seleccionandoen
el men "Ver", la opcin "Cdigo fuente", o "Cdigo fuente de la pgina", o cualquier otra opcin similar, dependiendo del
navegadorquehayamoselegido.
Puesbien,loqueharemosserleerelcdigofuentedelapginaquehayamoselegido,ymiraremosqueesloquehaydelante
ydetrsdelainformacinqueestamosbuscando.Siemprepodremoselegirunpatrnporelcualguiarnos.Porejemplo,enel
casoquenosocupa,dondevamosaobtenerlacotizacindeldlarfrentealeuro,simiramoselcdigofuentedelapginaque
oshepuestomsarriba,veremosquedelantedelahoradecotizacindedlar,apareceestecdigo(tcnicamente,dentrodel
cdigofuente,loquehayentreelsigno"<"y">",sedenomina"etiquetahtml"):
<divclass="valuesright"><time>

Si nos fijamos bien, ese cdigo solo aparece delante de hora de la cotizacin del dlar, y en ningn otro sitio ms de esa
pginaweb.Tambinobservaremosquedetrsdelahora,nosapareceesteotrocdigo:
<articleclass="datosdivisaindices_bursatiles">

Comoenelcasoanterior,esecdigo,soloapareceunavezenlapginaweb,yjustodetrsdeldatoquenecesitamos.
Pues bien, lo que haremos ser determinar en qu posicin se encuentran ambos cdigos, dentro del texto de la pgina, es
decir,sieltextodelapginatiene50.000caracteres,obtendremoslaposicindeesosdoscdigosquedelimitaneldatoque
deseamos obtener (la hora y cotizacin del dlar), de tal forma que el primer cdigo puede estar en la posicin 30.245, y el
segundo,enlaposicin30.277(enamboscasos,meheinventadolaposicinqueocupanesoscdigos,puespuedenserotros
distintos).
Unavezhechoeso,obtendremostodoeltextoquehayaentreambasposiciones,esdecir,suponiendoquelaposicinenque
se encuentran esos cdigos sea la que he puesto en el prrafo anterior, lo que haremos ser buscar el texto que hay entre el
carcter30.245yel30.277.
Una vez hecho eso, es evidente que dentro de ese texto estar el dato de la hora y de la cotizacin del dlar, pero con ms
informacin que no necesitamos (recordemos que el cdigo inicial y final, delimitaban el dato que necesitamos, es decir, la
cotizacin del dlar). Pues lo que haremos ahora ser obtener la cotizacin separando ese texto en otros ms pequeos
(utilizaremos la funcin Split), para lo cual buscaremos un carcter que nos sirva como delimitador. En este caso ser este
cdigo,queestentrelahoraylacotizacin:
</time><span>

Comopodisver,esosdosdatosestnrodeadosdetextoquenonosinteresa,asqueloqueharemossersepararesetexto
enotrostextosmspequeos.LoharemosconlafuncinSplit,comocomentabaanteriormente,yloqueharemosserseparar
eltextoendosbloques.Losepararemosas:
Bloque1:<divclass="valuesright"><time>XXXXXXXX
Bloque2:XXXXXXX</span></div>
</div>
</div>

Siosfijis,ambosbloquesseseparanpor"</time><span>"
Losiguientequeharemosserquedarnosconelbloque1,queeselquenosinteresaparasaberlahoradelacotizacin,pero
antes le quitaremos todo el cdigo innecesario de delante, con la funcin reemplazar, en la que quitaremos (o mejor dicho,
sustituiremospornada)esto:
<divclass="valuesright"><time>

Una vez hecho eso, lo que tendremos que hacer es obtener la cotizacin, para lo cual nos quedaremos con los 6 primeros
caracteresquehaydetrsdeldelimitador</time><span>
Ahorayatendremoslosdatosquenecesitamos,esdecir,enelbloque1,solonosquedarlahorayenelbloque2lacotizacin
deldlarfrentealeuro.
Como habis visto, no es demasiado complicado. Lo nico que hay que hacer, es buscar un patrn de comportamiento. En
nuestro caso, hemos buscado un texto que solo apareca delante y detrs de la cotizacin, para saber que lo que haba en

http://www.hojasdecalculoexcel.com/2009/09/obtenerdatosdeunapaginaweb.html

2/9

11/9/2015
Leerelnmerodeseriedelosdiscos
Trabajandoconhoras,minutos,y
segundos
Ocultarfilasycolumnas,mediante
macros
Simultanearfilasdecolores
LeerunabasededatosAccess
CalcularlaletradelNIF/DNI
Leerunficherodetextoplano
Desplazarseporlashojas,utilizando
macros
Impedirquesecambieelnombreal
fichero
UsodelafuncinBDContar
Mostrarunmensajeenlabarrade
estado
Eliminarfilasvacas
Crearhojasconunclic
Grabardatosenunficherodetexto
Tiempotranscurridoentredosfechas
Omitirlosavisosalejecutarunmacro
MiprimerUserForm
Nmerosdecolores
Ponerlahoraenunacelda
Pasaramaysculasominsculas
Creandonuestropropiobuscador
Extraerlainicialdecadapalabra
Ocultarhojasparaquenosevean
Contarlashojasdeunlibro
Nombredelda
Protegerunlibrodeexcel
Protegerydesprotegerunahojade
clculo,sinmacros
Impedirquesecierreexcel
Contarpalabras
Introducirnmerospares
Introducirvaloresnicos(norepetidos)
Macroalabriroalcerrarunlibro
Iraunacelda,deformaaleatoria
Volverdondeestbamosinicialmente
Impedirquesecierreunformulario
Evitarlacancelacindeunmacro
Nmeroaleatorio,conefecto
tragaperras
Protegerydesprotegerconmacros
Verificarsiexistehojadeclculo
Recorrerfilaafila
Obtenerruta,nombredelfichero,yhoja
Obtenernombredelahoja
Macrossinrefrescodepantalla
Miprimermacroenexcel
Obtenernombredelfichero
Crearcarpetasdesdeexcel
Separarcadenasdetexto
Desprotegerhojadeclculo
Contarelnmerodecaracteres
Mostrarlafechadehoy
Presentacindelblog

Obtenerdatosdeunapginaweb:HojasdeclculoExcel
medio,eraeldatoquenecesitbamos.
Aparte de la cotizacin y la hora, lo que haremos ser poner un enlace a la pgina web de la que hemos obtenido esa
informacin.
Solotienesquetenerencuentaqueesprobablequelawebdeorigencambiealgnda(laswebscambianperidicamentede
formato,depresentacin,decontenidos,etc.),yportantodebasrevisarestecdigo,parareadaptarloalanuevaubicacinde
lacotizacindeldlar,siesquehancambiadoesedatodepgina,olohancolocadoenotrositiodeesamismapginayest
rodeadodeotrasetiquetashtmldistintasalasquehemosvistoaqu.Dehecho,esteartculoqueestsleyendo,loherevisado
yactualizadoprecisamenteporquelapginaweborigendelosdatos,hasidomodificada(fechadeactualizacin:07/06/2012).
Elmacroqueresumetodoloexplicadoenesteartculoeseste:
SubCotizacion_del_dolar()
'Ocultamoselprocedimiento
Application.ScreenUpdating=False
'Sihayerrores,quecontine
OnErrorResumeNext
'pasamosaunavariable,lapginadela
'quevamosasacarlainformacin
web="http://www.finanzas.com/divisas/usdeur/"
'pasamoslapartequerodeaaltexto
'quenosinteresa,avariables
principio="<divclass=""valuesright""><time>"
final="<articleclass=""datosdivisaindices_bursatiles"">"
'creamoselobjetoxmlhttp
Setxml=CreateObject("Microsoft.XMLHTTP")
'accedemosalapginaweb
xml.Open"POST",web,False
'mandamoselcontenido
xml.Send
'pasamoselcontenidoaunavariable
texto=xml.responseText
'miramosenquendecarcteraparecenlostextos
'queenvuelvenlainformacinquenecesitamos.
'Primeroconlaposicininicial
posicion1=InStr(texto,principio)
'ahoraconlaposicinfinal
posicion2=InStr(texto,final)
'recuperamoseltextoquehayentreesasdosposiciones
dato=Mid(texto,posicion1,(posicion2posicion1))
'sinohayerrores,quehagaloquetienequehacer
IfErr=0Then
'creamosunarrayseparandoloselementos
'porelcaracter"</time><span>"
cotizacion=Split(dato,"</time><span>")
'ahorasenoshabrnformado2elementosseparadospor"</time><span>",
'peroquitaremosel"<divclass="valuesright"><time>"delprincipio,
'paraobtenerlahora
cotizacion(0)=Replace(cotizacion(0),"<divclass=""valuesright""><time>","")
'yahoraparaponersololacotizacin,porloquesolo
'nosservirnlos6primerosdgitos:X,XXXX
cotizacion(1)=Left(cotizacion(1),6)
'Escribimoseldato
Range("B9")="Cotizacindeldlar:"
Range("C9")=CSng(cotizacion(1))
Range("D9")="euros=1dlar"
'convertimoslasunidadesadlar/euro
Range("C10")=CSng(1/Range("C9"))
'mostramos4decimales
Selection.NumberFormat="#,##0.0000"
Range("D10")="dlares=1euro"
'ahoracogemoslosdatosdelahora
'yledamosformatodefecha
Range("C12").NumberFormat="dd/mm/yyyy"
Range("B12")="Hora:"
Range("C12")=cotizacion(0)
'ledamosformatodehora
Range("C12").NumberFormat="hh:mm"
'sihayerrores,mostramosunmensaje
Else
Range("B9")="Cotizacindeldlar:"
Range("C9")="Imposibleobtenerlacotizacin"
EndIf
'imprimimoslarutadelafuentedesde
'laqueobtenemoslainformacin
Range("B7")="Fuente:"
ActiveSheet.Hyperlinks.AddAnchor:=Range("C7"),Address:=web
'limpiamoselobjeto
Setxml=Nothing
'Mostramoselprocedimiento
Application.ScreenUpdating=True
EndSub

Aquosdejounpantallazodeloqueconseguiremosconunsimpleclic,sinnecesidaddeabrirnuestronavegadorparabuscarla
informacineninternet:

http://www.hojasdecalculoexcel.com/2009/09/obtenerdatosdeunapaginaweb.html

3/9

11/9/2015

Obtenerdatosdeunapginaweb:HojasdeclculoExcel

Desde aqu podis descargar el fichero, con el ejemplo que hemos visto en este artculo (fichero resubido el 07/06/2012, y
artculoactualizado).

2015BentleyFlyingSpurV8

Save$68,985OffMSRP.
LimitedTimeOffer.
ScheduleaTestDrive
Today!

mircoles,23deseptiembrede2009
Etiquetas:excelavanzado

Moreinfo

PublicadoporJavierMarco

macrosenexcel

37comentarios:
Pollanderdijo...
Esteblogessimplementeexcelente!!Nohayentradaquenomeresultedeutilidad.MuchasGracias!!Ahorabien,me
preguntosihayalgunaposibildaddequelainformacinqueseviertaenuntextboxseavolcadaauncuadrodetextoen
particular.
Otracosaquemeinteresarasaberessisepuedeenvarlainformacondeuntextboxaunlugarespecficodeun
archivoword.
MuchasGraciasdenuevo!
25deseptiembrede2009,22:45
Pollanderdijo...
Javier.Estuveprobandoyyalogrloquepedaenelmensajeanterior!!!.Ahorasolomefaltapoderajustarelespacio
entrecaracteresenelcuadrodetexto.
Gracias
26deseptiembrede2009,17:57
Luisdijo...
Felicidadesporesteblogmehasacadodemuchoapuros)
tengocuriosidadsisepuedemandaralapaginawebundatoaunformularioenlineaymeregreselainformacin
graciasdeantemano
yenofftopic
tengounamacroquecopiaypegadatosdeunahojaaotraacomodndolosdelaformaquequieroperoserepitehasta
aprox180vecesymemarcaerrordeautomatizacinysetrabaexcelsolopuedoguardarelavanceyalvolverloabrir
puedoseguirejecutandolamacrootras180veces
pormasquehebuscadonosecomoevitaresoalgunaidea.Graciasdeantemano
13deoctubrede2009,6:41
Aalvarezdijo...
Javier

http://www.hojasdecalculoexcel.com/2009/09/obtenerdatosdeunapaginaweb.html

4/9

11/9/2015

Obtenerdatosdeunapginaweb:HojasdeclculoExcel
Nuevamentemolestandote,estuberevisandoestamacro,comoobtenerdatosdeunapaginaweb,Mipreguntaesla
siguiente,enalgunaspaginasexsisteunabasededatos(CadenaHotelera),dondeestanlosdatosdelHoteldirecciony
telefonos,enalgunoscasoselcontacto,ActualmenteestolohagoCopiandoypegandodichainformacion,comolo
puedohacermasrapidoosencillo.
Saludos
6denoviembrede2009,18:30
LeonardoJavierdijo...
Muybuenblog!Mehasidodegranutilidadtodoloqueheleido.
Ahorapregunto...quisierasabercomohacerparaqueenunlabelquedigaporejemplo"misitio",alabrireluserformy
hacerleclickallabelmelleveamiwww.misitio.com.Desdeya,muchasgracias.
9denoviembrede2009,9:49
APerfectsdijo...
Esteblogesexcelente!,loderecuperardatosdeunapaginawebesexcepcional.
Nosesitalvezpodrasponerunsobrerellenardatosaunapginawebcondatosquesetieneenunahojadeclculo,
ejemplo:enestapaginawebesdelasunat(per)
https://www.sunat.gob.pe/clatitmenu/menuS01Alias
ycadamesingresolosdatosdelosclientesquesoncomo200(Ruc,usuario,clave)parahacerladeclaracin.siestos
datosyalotengoenunahojadeexcel,existeunaformamediantemacrosparahacerestatarea.GRACIAS
7deenerode2010,23:36
gusmerodijo...
Hola...soyGustavo
Deantemanomuchasgracias...
EsFantsticostesitio.Miramegustarasabersiesposiblemedianteuncdigoenvbaasignarleunapginaaunlabel
enunUserForm,esdecirporejemploenunUserForm,tengounlabelquedicepaginawebdelautor,entoncesloque
quierohaceresquealdarleclickmeabralapaginadeinternetvinculada.
Graciasnuevamente...
20defebrerode2010,1:49
Annimodijo...
HolaJavier,
Hedescubiertohacepocoesteblogyloprimerofelicitarteporlobuenoyutilquees.
Queriasabersiesposibleobtenerelcodigofuentedemibancaonlineunavezconectadoconmisclaves.Esdecirsi
usandoestecodigodevisualbasicpodratenerentiemporealelsaldodemicuentabancariasintenerquecadavez
entrarenlawebdelbancoymeterlasclaves.
MuchasGraciasydenuevoenhorabuena.
20demayode2010,14:04
alejandrodijo...
Esteblogesbuenisimoheestadotratandodehaceralgoparecidoperonomehaidobienyoloquequieroesusarun
traductoroseaunapaginaparatraducirperoelproblemaesqueprimerotengoquemandarocopiarunapalabraque
esteenalgunaceldadeexceleneltraductoropagparatarducirydespuesrecogerlainformacionquememanday
ponerlaenunaceldadeexcelperonomehaidobiensialguientienealgunaayudaloagradeceremucho
26demayode2010,20:31
peterHammerdijo...
Antesquenadaloquierofelicitarporsubirestepostextremadamenteutil.
Sinembargo,encontreunerrorquecometeExcelaltomarelcuerpodelapaginaweb.Elmismoestalimitadoa255
caracteressegunMicrosoft,peroson248enrealidad.
Tehastopadoconesteproblema?Haspodidosolucionarlo?
Dejomicorreoporlasdudas:
f.alvarez@adinet.com.uy
Desdeyamuchasgracias.
Saludos,
Federico
17dejuniode2010,3:05
JavierMarcodijo...
peterHammer,chaleunvistazoaesteartculo:http://support.microsoft.com/kb/211580/es
Tambinpuedeslimitarelnmerodecaracteresquerecuperesdelapginawebdeunaformasencilla,talycomote
muestroenesteejemplo:

http://www.hojasdecalculoexcel.com/2009/09/obtenerdatosdeunapaginaweb.html

5/9

11/9/2015

Obtenerdatosdeunapginaweb:HojasdeclculoExcel
Subejemplo()
'creamosunavariable
variable="Estetextotiene30caracteres"
'mostramossololosprimeros20caracteres
variable=Left(variable,20)
MsgBox(variable)
EndSub
17dejuniode2010,10:07
peterHammerdijo...
MuchasgraciasJavierMarco.EllinkdeMicrosoftnofuedemuchaayuda,perotucomentariosindudasilofue.Parece
quesihacesunMiddel"xml.responseText"sitepuederespondercaracterespasandolosprimeros255.Porejemplo:
texto=Mid(xml.responseText,20600,255).
Pareceunalocuraperodeotraformaesimposibletrabajarconpaginasgrandes.
Muchasgraciasporlaayudaytutiempo.
Cordialessaludos,
Federico.
17dejuniode2010,15:32
J.Ll.Adserdijo...
unpostfantastico,utilyamenofelicidadesalautor!
26deagostode2010,18:00
J.Ll.Adserdijo...
comosepuedehaceralreves...
losdatosquequierocapturarestandentrodeunapaginawebquetienelogigconusuarioypassword(loscualestengo)
peroconestemetodonomepermiteentrardentrodelawebaunquehayaabiertolasesionconcualquiernavegador.
comosepuedeenviardatosenunapagina?ydepasocomopodemoshacerclic?todoestodesdemacrosdeexcel
claroesta
gracias
30deagostode2010,16:14
Carlosdijo...
Holaquetal,yoestoyqueriendohacerlosmismo,peroparaconsultarparametrosdeunamaquina,laverdadnose
muchodeesto,solosequeestosdatosvienemedianteunatabla,comopuedopublicaresecodigoenestos
comentarios,ayudenmeporfaaa!!
8deseptiembrede2010,17:55
coticlubdijo...
Hola,enhorabuenaporelpost.Estoyintentandoutilizartumtodoperonomefunciona,ymeasaltanlassiguientes
dudas:
Dndeutilizaselndecaracter?noloveoenelcdigoponingunaparte
Enelcasoqueyoquieraeltextocompletoquehayentrelasdosposiciones,bastaconeliminarelsplit???
Muchagraciasportusaportes
18deenerode2011,13:52
Martindijo...
HolaJavierMarco,
Muybienpensadalasolucion.Meinteresariapodercontarconalgosimilarperoqueextraigadeuncatalogoweblos
preciosylospuedareflejarenunhojadeexcel.Laideaseriasimilaraloplanteadoaquiperolosdatosaextraerse
repitenobienenvariaspaginasconeliddelproductoobiensepuedenextraerdemaneramultipledeunlistadopor
categorias.
Comoformapartedeunpequeoproyectocomercial,podriashacernosunpresupuestoporeltrabajo?
Muchasgracias.
18deenerode2011,14:44
JavierMarcodijo...
Paracoticlub:
Fjatequerecuperamosloscaracteresdondeempiezayfinalizaeltextoquequeremosrecuperar(antesdedepurarlo),y
lopasamosa2variables:
posicion1=InStr(texto,principio)
posicion2=InStr(texto,final)
Unpardelneasmsabajorecuperamoseldatoencuestindeestaforma:
dato=Mid(texto,posicion1,(posicion2posicion1))
Puedesrecuperartodoeltextoquequieras,aunqueesprobablequetengaslalimitacindenopoderescribirmsde
255caracteresporcelda.Paraello,mrateloscomentariosanteriores.
ParaMartin:
Seramslaboriosoeltrabajoderecuperaresosdatosdelaweb,queloquepudieracobrarporelmismo.Porese

http://www.hojasdecalculoexcel.com/2009/09/obtenerdatosdeunapaginaweb.html

6/9

11/9/2015

Obtenerdatosdeunapginaweb:HojasdeclculoExcel
motivoprefieronohacertrabajosporencargo.Noobstante,enelejemplodelblogtienesinformacinsuficientepara
montarteunmacroypoderrecuperaresainformacindelaweb.Problema?.Eldaquecambieeldiseodelaweb(o
aunquenoseadiseo,quecambinalgoporpocoquesea),teafectaralmacro,ydebersrevisarloparaarreglarlo.
Unsaludo.
18deenerode2011,15:43
Migueldijo...
HolaJavier.teacompaounlinkamiarchivoExcelparamayorentendimientodemiexposicin.http://db.tt/O8XKwxisi
sabescomohacerloypudierasayudarme,teloagradecera.
Muchasgraciasportudedicacin!
Miguel
Resumidamente,setratadelocalizar,trasrealizarunapeticindedistanciaskilomtricasentreciudades,desdeExcela
GoogleMaps,siexistelapalabraferrydentrodelcdigofuentedelarespuesta.Sabiendoquesegnpeticin//
ejemplos:Barcelona>MadridBarcelona>Tenerife//apareceronolapalabra<ferry>dentrodichocdigo.Esedato
limpio,daramiplantillaunaseriedenecesariasprestacionesinternas.
Graciasdenuevo.miguel
29deabrilde2011,11:18
rbricenodijo...
HolaJavier.Quisieraconsultartealgo.Yonecesitoalgoparecidoaloquethacesenelblog,peronecesitoalgo
adicional.Yorequieroquelamacrotomedosvaloresdeunapagina(consurespectivotextoidentificador:mejoroferta
decompraymejorofertadeventa)cada5o10minutosduranteelperiodoquevadelas8alas4.30pm.Quse
requiriraadicionalmentecomocdigo?saludosygracias.
7dejuniode2011,5:45
JavierMarcodijo...
Holarbriceno.
Puesconloquehasledoenesteartculo,loqueapareceenesteotrodondeexplicocomoejecutarunamacroauna
horadeterminada,yunpocodetrabajoyesfuerzo,lotendrschupado.
Unsaludo.
7dejuniode2011,7:08
Annimodijo...
http://office.microsoft.com/eses/excelhelp/obtenerdatosexternosdeunapaginawebHA010218472.aspx
Veoestapginadeoffice.Esmuchomsfcilas.
Mesalifacilimo.
suerte!!!
29deagostode2011,16:46
JavierMarcodijo...
Sondosejemploscompletamentediferentes.NotienennadaqueverelejemplodelawebdeMicrosoft,yelejemplode
esteblog)
Unsaludo.
29deagostode2011,17:00
Annimodijo...
Javier,elpostesgenial,perolotengounpocomasdifcil,tengounarutinaquecreaunaconsultaenlawebapartirde
unformularioqueenvo,necesitorecuperarlosdatosdelapaginaderespuesta,siempretienelamismadireccinpero
evidentementenosepuedeaccederdirectamenteporquedependedelformularioparacalcularse,Cmopodracopiar
elcdigodelapaginaWebactiva?
29deseptiembrede2011,20:28
Annimodijo...
Estupendoblogydegranayuda.
Cmopuedosolucionarelsiguienteproblema?
Lainformacinacapturaresttraslaetiquetahtmlperoenotralnea,nojustoacontinuacincomoensuejemplo.Es
decir:
"etiquetahtmlanterioraltexto"
"datoarecogerenlalneasiguiente"
Muchasgracias.
24denoviembrede2011,20:13
Guillermo11dijo...
Sepuedeincluirenlamacrounaccesoprevioaunapginadeloginparaluegocontinuarconelprocesodeextraccin?
7dediciembrede2011,13:55
Tinchosshdijo...
Holatengounproyectoenelcualnecesitoextraerinformaciondelabasededatosdevariossitiosdondeestala
informaciondediversoscentroseducativos,loestoyhaciendodeformamanualperosonmasde5000registrossiesque
nomequedocorto,mireelcodigofuenteperonoencuentrodondellamaalaBasededatos,yaqueestanhechascon
javascriptyveoquellamaadiversos.jsalguienmepuedeayudarparapoderextraerlainformacionenunexcelpara

http://www.hojasdecalculoexcel.com/2009/09/obtenerdatosdeunapaginaweb.html

7/9

11/9/2015

Obtenerdatosdeunapginaweb:HojasdeclculoExcel
podergenerarunabasededatosparausarlainformacionenlaaplicacionquetengoquedesarrollar????lesdejomi
email,tinchossh@gmail.com,desdeyamuchasgracias.
18dediciembrede2011,23:12
Yavirdijo...
Javier:
Paraagradecerteportusnuevaspublicacionesquesonexcelentesydegranutilidad.Araizdeestemaravillosoartculo,
tengounaconsultaquehacerte:Comosepodriaaveriguarsiunadireccinwebestafuncionandoono?.Digamossi
tengo50direccioneswebquedebenserrevisadassufuncionamientotodolosdias,conunamacrocomoesta,sepodria
ponerenlacolumnasiguientealadelasadireccionesweb,activaoinactiva?,segunseaelcasoysinabrirlas.Gracias
porlaatencinyportusenseanzas.
27defebrerode2012,15:41
Juliodijo...
Muybuendia.
Excelentepost.
Mehaservidoparavariaspaginas
dondepuededelimitarlacadenadecaracteresquemeinteresaosea,dondepuedoobtenerlasvariablesPrincipioy
Final.
PeroenelcasodondesolopuedoobtenerlavariablePrincipio,comohariaparaacotarlacadenaquemeinteresa?P.ej,
simeinteresaeltextoapartirdelavariablePrincipio+100caracteres?
Desdeyagracias
Saludos.
Julio.
22demarzode2012,13:17
JavierMarcodijo...
Julio,esoesmuysencillo.Fjatequehayunavariablellamada"posicion1",quenosdevuelveelndecaracterdonde
encuentralacadenadetextoquebuscamos,yquesellama"principio":
posicion1=InStr(texto,principio)
Parasaberla"posicin2",quecontendrunacadenade100caracteres,simplementehacemosesto:
posicion2=InStr(texto,principio)+100
Saludos.
22demarzode2012,15:57
Gustavodijo...
Enprimerlugarquierofelicitarteporblog,esrealmenteexcelenteytambinagradecerteporeltiempoquededicasa
esteespacio.
Mipreguntaeslasiguiente:
Comohagoparaquecadavezqueobtengolacotizacin,cadavalorsevayacopiandoenunatabla,demaneraqueal
finaldeldatengaunregistrodetodaslascotizaciones.
NuevamenteGracias
15dejuliode2012,0:57
JavierMarcodijo...
Bueno,comosabeslascotizacionesburstilescambiancontinuamente,porloquepuedescrearunmacro(siempre
buscandouncarcterodelimitador,paracortarlacadenadondesealojalacotizacindecadavalor),paraquepor
ejemploalasseisdelatarde,tecopielosdatosdelawebdelaqueobtengaslainformacin,yluegotevuelqueesos
datosenunahojaaparte(dentrodelmismolibro),quesellameporejemploconeldaencuestin(ej:15072012),
pegandosololosvalores.Estoltimosepuedehacerconlagrabadorademacrosdeunaformamuysencilla.Lode
obtenerlascotizacionesrequieremuchomstrabajo,parapoderaislarcadacotizacindecadavalor,perolaformade
hacerloesidnticaaladelejemploenelquebuscamoslacotizacindeldolar.
Saludos.
15dejuliode2012,22:01
RobertBlancodijo...
Muyagradecidoporcompartirsusconocimiento.Estoyprobandoestecodigo,perotengoproblemasalahoradeabrirla
pginaweb.Lapginaalacualquieroacceder,tieneunmodulodeconsulta,dondeseingresaunosvaloresylapagina
muestraunresultado.Esteresultadoaobteneresunapalabra("VALIDO")yqueeslapalabraquequierollevarala
planilla.Consultocualpodriaserelproblemadenopoderabrirlapagina.
Yencasoqueyoyatengalapginaabierta,conlosresultadosdelaconsultaenpantalla,comomodificaraelcdigo
suyo?,paraqueyanointenteabrirlapgina,ybusquedirectamenteenelcdigofuente.
19deseptiembrede2012,20:04
RobertBlancodijo...
Quieroagregarquelapginaalacualquieroaccedertieneuncontroldecaptcha,quemeimaginoquetienesu
incidencia,porloquedeciasiesposible,conalgunamodificacionalcodigo,teniendoyalapginaabierta,poderobtener
eldatoenparticularqueserequiere.
20deseptiembrede2012,22:02
JuanManuelMartndijo...
Excelentemacro!!justobuscabaesto.Loquepasaesquenecesitoalgosimilarperoparaestaweb:

http://www.hojasdecalculoexcel.com/2009/09/obtenerdatosdeunapaginaweb.html

8/9

11/9/2015

Obtenerdatosdeunapginaweb:HojasdeclculoExcel
http://www.bna.com.ar/bp/bp_cotizaciones_historico.asp?op=b&id=1
Necesitolacotizacindecierredeldolar,deldahbilanterioralqueestoy.Lawebquepas,poneuncontrolde
calendarioparaseleccionareldaquequiero.
Alquesesemeocurriesponerenunaceldadelexcellafechadelacualyoquierolacotizacin.Peronosecomo
mandarleeldatoalawebyaestecontroldecalendarioparaquemedelacotizacinquebusco.
Quizsesalgomscomplejoqueelejemplo.Simepudieranayudar,loagradezco.
Saldosyexcelentetrabajo!
1deoctubrede2012,18:26
Annimodijo...
YotambientengoelmismoproblemadeJuanManuelMartin.Comoseralasolucion.GRacias
28denoviembrede2012,15:01
CarlosAugustoEscobardijo...
Excelenteyalaejecuteyfuncionosinembargonecesitoextraerundatoperolapaginanecesitausuarioyclave,como
puedohaceresto?
28defebrerode2013,4:21
Publicaruncomentarioenlaentrada

Entradamsreciente

Pginaprincipal

Entradaantigua

Suscribirsea:Enviarcomentarios(Atom)
AnunciosGoogle

WebHTMLPreciowebPaginawebCrearweb

CopyrightHojasdeclculoexcel|Avisolegal

http://www.hojasdecalculoexcel.com/2009/09/obtenerdatosdeunapaginaweb.html

9/9

Vous aimerez peut-être aussi