Documente Academic
Documente Profesional
Documente Cultură
Varias
soluciones:
Problema: Se ven carácteres raros en lugar de los acentos o carácteres especiales como la Ñ o ¿
Solución: El origen del problema puede ser variado por lo que la solución puede variar. Las pongo
en el orden personal de "popularidad".
• Codificación del archivo, tiene que coincidir con el formato que envia el servidor; ANSI,
UTF-8 etc, si desconoces que juego utiliza el servidor es cuestion de prueba y error, y probar caso
por caso.
• Indicar mediante un tag "meta" la codificación usada en la página:
AddDefaultCharset utf-8
• Revisar el contenido por si viene generado desde una base de datos. Revisar si esta
codificado en origen o si se debe antes descodificar para mostrarlo (funcion urldecode(str) por
ejemplo).
• Si no hay mas remedio y se precisa una solución rápida, utilizar códigos HTML para generar
dichos carácteres:
Cuando vemos incorrectamente un texto nos pueden aparecer textos como estos:
Este texto tiene caracteres codificados en UTF8, que debemos decodificar para que aparezcan
correctamente los acentos y demás símbolos del alfabeto latino.
Existe una función de PHP que realiza el trabajo de conversión de los caracteres UTF8 a sus
correspondientes códigos reales.
La función se llama utf8_decode() y lo que hace es convertir una cadena que realmente utiliza ISO-
8859-1 pero que tiene caracteres codificados a con UTF-8. La conversión genera el string en ISO-
8859-1 pero con un sólo byte para todos los caracteres, con lo que se verán correctamente.
Se utiliza así:
Existe una función para hacer justo el paso contrario, que vamos a ver también en desarrollo web
.com. Es decir, partiendo de una cadena en el juego de caracteres ISO-8859-1, obtener la
correspondiente traducción a UTF-8.
Esto lo podemos necesitar, por ejemplo, si nuestra base de datos está definida con UTF-8 y
tenemos entrada de datos ISO-8859-1.
Y devolverá el correspondiente string convertido a UTF-8, que si lo mostramos en una página que
utiliza el juego de caracteres ISO-8859-1, se vería de esta manera:
Autor
Miguel Angel Alvarez
Seguir a midesweb
Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT.
Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.
Subir
Manual
• Taller de PHP
Comprimir archivos Javascript desde PHP
Convertir los caracteres especiales con PHP, sin alterar etiquetas HTML
Compartir
•
•
• Tweet
•
•
•
Comentarios
Enviar un comentario al artículo
Fernando
02/10/2008
EN JSP TAMBIEN HAY UNA FUNCION COMO LA DE PHP ?
Marcar como spam
Sergio
04/11/2008
Como hago para aplicar esta función a este fragmento del codigo que viene de tomar los datos de
un formulario html:
-------------------------------------------------
Nombre: ".$_POST['nombre']."
Apellido: ".$_POST['apellido']."
Empresa / Institución: ".$_POST['empresa']."
Area y Cargo: ".$_POST['area']."
E-mail: ".$_POST['correo']."
Ciudad: ".$_POST['ciudad']."
País: ".$_POST['pais']."
Teléfono: ".$_POST['telefono']."
------------------------------------------------
Este fragmento lo que hace es tomar los datos de un formulario html y enviarlo por mail. Pero al
mail me llegan todos los datos del formulario sin codificar y es muy dificil de leer.
Que puedo hacer?? como aplico esta función?
Desde ya muchas gracias.
Marcar como spam
Carlos Salas
14/11/2008
Para aplicarlo a un formulario de correo lo que se debe hacer es algo asi:
ejm:
$nombre=$_GET['Nombre'];
...
$msg .= " Nombre: ".utf8_decode($nombre);
...
en el caso anterior como ven, la funcion se aplica en la linea del mensaje. No directamente en la
variable que está siendo rescatada del formulario...
en caso de usar campos adiconales fijos (por ejemplo):
$msg .= " N".utf8_decode(ú)."mero de ni".utf8_decode(ñ)."os: ".$niños;
---> en este caso la función se aplica a un texto específico que será enviado conjuntamente con el
mensaje, seguido tambien de una variable que no hace uso de la función.
Lo detallaría más pero estoy algo ocupado... si requieren ayuda, pueden escribirme al correo, y
cuando pueda; les contesto.
Saludos.
Marcar como spam
ttorrentte
31/8/2009
Gracias Gracias Gracias
Perfecto, llevaba ya un rato enfrascado con lo mismo, no podía hacer consultas con acentos y con
esta función se han solucionado, muchas gracias.
Marcar como spam
Carlos
04/9/2009
Reconocer utf-8
Hola amigos de DW. Aprovechando este tema sobre UTF-8 presento una consulta.
Estoy adaptando un libro de visitas que funciona en Flash, cargando variables desde un archivo
php. Es conocido, de flash-db.com
El tema es que no sé cómo ni donde escribir dentro del php el código para que reconozca acentos,
ñ y otros caracteres especiales.
A continuación el php en cuestión, y desde ya gracias por su ayuda.
<?php
// If you are using an old version of php, remove the next set of lines.
// or use $HTTP_POST_VARS["..."] instead.
$Submit = $_POST["Submit"];
$Nombre = $_POST["nombreV"];
$Email = $_POST["emailV"];
$Barrio = $_POST["barrioV"];
$Comentario = $_POST["comentarioV"];
$NumLow = $_REQUEST["NumLow"];
$NumHigh = $_REQUEST["NumHigh"];
// Replace special characters - you can remove the next 5 lines if wanted.
$Nombre = ereg_replace("[^A-Za-z0-9 ]", "", $Nombre);
$Email = ereg_replace("[^A-Za-z0-9 @.-/']", "", $Email);
$Comentario = ereg_replace("[^A-Za-z0-9 @.-/]", "", $Comentario);
$Barrio = ereg_replace("http://", "", $Barrio);
$Barrio = ereg_replace("[^A-Za-z0-9 @.-/:]", "", $Barrio);
// Remove slashes.
$Nombre = stripslashes($Nombre);
$Email = stripslashes($Email);
$Barrio = stripslashes($Barrio);
$Comentario = stripslashes($Comentario);
//
################################################################################
###
// ########## Reading and Writing the new data to the GuestBook Database #############
if ($Submit == "Yes") {
// Puts the recently added data into html format that can be read into the Flash Movie.
// You can change this up and add additional html formating to this area. For a complete listing of
all html tags
// you can use in flash - visit:
http://www.macromedia.com/support/flash/ts/documents/htmltext.htm
$New = "$Input$OldData";
//
################################################################################
###
// ######### Formatting and Printing the Data from the Guestbook to the Flash Movie ##
// Splits the Old data into an array anytime it finds the pattern .:::.
$DataArray = split (".:::.", $Data);
print "&TotalEntries=$NumEntries&NumLow=$NumLow&NumHigh=$NumHigh&GuestBook=";
for ($n = $NumLow; $n < $NumHigh; $n++) {
print $DataArray[$n];
if (!$DataArray[$n]) {
Print "<br><br><b>No hay mas comentarios</b>";
exit;
}
}
?>
Marcar como spam
alvaro
29/10/2009
excelente
muy bueno me funcionó 100pts saludos
Marcar como spam
Hector
18/11/2009
PROBLEMAS CON UNA CONSULTA DESDE PHP
Bueno mi problema es el siguiente.
Mi interrogante es porque si modifico las tablas directamente en mysql la pagina web ve los
caracteres a pesar de ser un php y cuando lo modifico desde el manejador modifica todo el
contenido, es decir me altera los caracteres?
felicitaciones!!!
www.emanuelm.com.ar
Marcar como spam
arojas
08/5/2011
Perfecto !!
utf8_decode() funciona de maravilla para enviar un mail.
Marcar como spam
elpeter
06/7/2011
arreglar codificacion
usar el utf8_encode() o el utf8_decode() funciona pero no dejan de ser parches.
Arreglar de raíz el problema de la codificación es algo mas complicado o al menos que lleva
bastante tiempo y "cosas" que tocar. Echarle un ojo al siguiente articulo donde viene bastante
bien detallado los posibles problemas en la codificación y como afrontarlos.
http://www.pedroventura.com/blog_programacion/php/problemas-codificacion-web-configurar-
codificacion-utf8-php-mysql-y-html/
Espero que les sirva a todos. Porque se que los problemas de codificación pueden llegar a ser muy
problemáticos! :S
Marcar como spam
elpeter
06/7/2011
arreglar codificacion
usar el utf8_encode() o el utf8_decode() funciona pero no dejan de ser parches.
Arreglar de raíz el problema de la codificación es algo mas complicado o al menos que lleva
bastante tiempo y "cosas" que tocar. Echarle un ojo al siguiente articulo donde viene bastante
bien detallado los posibles problemas en la codificación y como afrontarlos.
http://www.pedroventura.com/blog_programacion/php/problemas-codificacion-web-configurar-
codificacion-utf8-php-mysql-y-html/
Espero que les sirva a todos. Porque se que los problemas de codificación pueden llegar a ser muy
problemáticos! :S
Marcar como spam
Adriana
20/7/2011
Me funciona perfecto
Muchas gracias por el aporte
Marcar como spam
RUBEN D. GUERRERO N.
24/1/2012
SIMPLEMENTE BUENOS
HERMANO MUY AGRADECIDO POR LA AYUDA PRESTADA ESTA MUY EXPLICITA LA EXPLICACION...
Marcar como spam
Gabriel
06/3/2012
Gracias
El articulo me fue muy util.
Saludos,
Marcar como spam
Omar Mtz
10/12/2012
I love u guys :)
Gracias por la explicacion tan sencilla que estaba.. hahaha
Marcar como spam
Edievale
29/12/2013
Muy útil
Me he puesto hace poco con PHP y me ha resultado muy útil este artículo.
Muchas gracias.
Marcar como spam
Raydel Piloto Quesada
28/2/2014
Hola
Hola a todos, el código me es útil. Pero no me ha resultado cuando tengo cadenas de texto con
caracteres utf-b (Ñ, á,é , etc) guardados en una base de dato mysql y quiero mostrarlos tal y como
son en una página web. Si me ayudasen con esto se los agradeceré. Gracias
Marcar como spam
Emmanuel
03/3/2014
Exelente solución
Muchas gracias por la solución fue de gran ayuda (Y)
Marcar como spam
Pedro
25/4/2014
Perfecta solucion
Gracias
Marcar como spam
Roger
16/5/2014
UTF-8
Y que pasa con el ?, yo no encuentro la manera de pintarlo en utf-8 al cojerlo de la bbdd.
Marcar como spam
Pep
25/9/2014
funcionó!
Funcionó muchas gracias!!! Un saludo.
Marcar como spam
XfontanillsX
24/12/2014
Ayuda
<html>
<head>
<title>Problema</title>
</head>
<body>
<?php
$ar=fopen("F:dosomg.txt","r") or
die("No se pudo abrir el archivo");
while (!feof($ar))
{
$linea=fgets($ar);
$lineasalto=nl2br($linea);
echo $lineasalto;
}
fclose($ar);
?>
</body>
</html>
Despues de haber mostrado el codigo que tengo, formulo la siguiente pregunta. Tengo un archivo
de texto con el siguiente contenido:
EDGARDO@hotmail.com
Nota: no tengo problemas en mostrar contenido sin caracteres de este tipo como por ejemplo:
jose.
Marcar como spam
Alexis
03/3/2015
no es acento
hola, muy buen articulo solo un error la palabra correcta debería de ser tilde y no acento :) saludos
gracias por tus aportes son muy buenos.
Marcar como spam
Daniel
23/3/2015
encode
muy bueno funciono de maravilla gracias
Marcar como spam
Alex
26/4/2015
como proteger el codigo html de una pagina
si lo que se
anda buscando es proteger el codigo html la
solicion que les recomiendo es: www.protegerhtml.info saludos
Marcar como spam
ARNOLDO RODAS PEREZ
11/6/2015
Manejo de acentos a la hora de insertar
Buenas tardes , está muy buenas la informacion me parece perfecta el problema que yo tengo es
que cuando lo guardo en mi propia máquina no hay problema, pero cuando subo los cambios al
servidor me siguen apareciendo así, es por eso que quisiera saber si se resolvería el problema si yo
a la hora de insertar los datos lo meto en el encode o decode, sea también el problema que se
encuentre en mi servidor LINUX, por fa ayuda!
Marcar como spam
hector_rivera58472
03/12/2015
acentos dentro del rtf
hola que tal
yo segui e ejemplo de rtf segun este
link http://www.desarrolloweb.com/articulos/1826.php
yo lo no tengo problema al generarlo
pero si tengo un grave inconveniente con los acentos dentro del reporte que realice con rtf
resulta que la dbo de mysql la tengo con el acortejamiento utf-8spanis-ci, la pagina web esta con
utf-8
cuando genero mi reporte con rtf los acentos se ven asi NÑO ONÑO acción acción acción
acción
dentro de la web muestra las ñ y las tildes sin problema
utf8_decode($equivalencias[35][0]="#*OBJPY*#");
utf8_decode($equivalencias[35][1]="objetivospy");
$equivalencias[36][0]=utf8_decode("#*OBJPY*#");
utf8_decode($equivalencias[36][1]=utf8_decode("objetivospy");
he probado de muchas maneras y no salen los acentos dentro de mi reporte
alguien me puede dar una mano.. porfa
Marcar como spam
maria
11/12/2015
gracias por el truco!!!
Llevo un montón de foros y ninguno me ha dado una solución tan sencilla, solo colocar el código y
funciona!!! Mil gracias por compartirlo!
Marcar como spam
ALDO
30/12/2015
¿Como lo aplico a todo el documento?
¿Como lo aplico a todo el documento?
Marcar como spam
proba
12/4/2016
funciono
tengo unas variables php dinamicas y usando esta funcion he podido solucionarlo muchas gracias
www.edilnet.es
Marcar como spam
EDUARDO
06/9/2016
agradecimiento
MUCHAS GRACIAS POR LA AYUDA
Estas en el tema de caracteres raros en mi pagina! en el foro de HTML en Foros del Web. Que tal,
tengo un gran problema , porque no se muestran bien algunos caracteres en mi pagina web , tales
como las ñ y las ...
#1 (permalink)
Antiguo 06/03/2008, 14:34
Avatar de @padawan@
@padawan@
en vez de acentos y eñes me aparece esto á, ñ,l á, lo mas loco es que ese texto se ve mal y
otros bien digamos algunas palabras con acentos propios del html y no provenientes de alguna
base de datos, ahora bien si yop cambio la codificacion en vez de ser automatica la pongo en
unicode UTF-8 se me muestran bien los caracteres que antes se veian mal , pero los que se veian
bien ahora muestran este simbolo � !! la verdad que ya no se que mas hacer, porque consulte
muchos sitios y no logre solucionar mi problema!.
#2 (permalink)
Antiguo 06/03/2008, 15:33
Avatar de hades87
hades87
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
....
#4 (permalink)
Antiguo 06/03/2008, 17:37
Dragoon_SC
saludos
#7 (permalink)
Antiguo 24/03/2008, 15:15
Avatar de Omura
Omura
Colaborador
Para minúsculas
á - á
é - é
....
Para mayúsculas
A - Á
E- É
....
#8 (permalink)
Antiguo 24/03/2008, 15:29
lamatxin
trabajo con un editor de web normal y corriente, y luego lo subo a un hosting. pregutame más y te
digo...
por lo q yo supongo en algún paso desaparece la orden de usar utf-8 y coge la estandar iso.
Cita:
Iniciado por Omura Ver Mensaje
ya probaste poniendo los caracteres especiales vía código
Para minúsculas
á - á
é - é
....
Para mayúsculas
A - Á
E- É
....
edito: si pongo estos símbolos si q se ve bien, pero lo veo un trabajo de chinos y una solución
chapucera (q no me va a quedar más remedio q usar si no encontramos otra XD)
#9 (permalink)
Antiguo 24/03/2008, 15:41
Avatar de almagropaco_
almagropaco_
Una forma simple de hacer los cambios seria usando el bloc de notas
Buscar [ á ]
Reemplazar [á]
Reemplazar todo <===
#11 (permalink)
Antiguo 24/03/2008, 16:22
lamatxin
Un saludO!
#15 (permalink)
Antiguo 02/04/2008, 01:56
Avatar de mgusdl
mgusdl
trabajo con un editor de web normal y corriente, y luego lo subo a un hosting. pregutame más y te
digo...
por lo q yo supongo en algún paso desaparece la orden de usar utf-8 y coge la estandar iso.
edito: si pongo estos símbolos si q se ve bien, pero lo veo un trabajo de chinos y una solución
chapucera (q no me va a quedar más remedio q usar si no encontramos otra XD)
Si tienes un programa medianamente decente como EditPlus, existe la opción de pasar de ANSI a
HTML en el menu edicion. Además el fichero de entidades HTML es editable, así que puedes
agregar las que no tenga.
#16 (permalink)
Antiguo 17/04/2008, 08:26
Avatar de freegirl
freegirl
Colaborador
a mi me pasa similar. Bueno, yo miro la Web con IE6, IE7 y Firefox y la veo bien. Pero me ha venido
algún comentario de que vé cuadritos en vez de acentos. Tengo que concretar que Explorer y
versión ve eso mal.
Mi hosting es de USA, no sé si tiene que ver con él o qué. Lo raro es que yo en 3 exploradores lo
veo bien.
Saludos
08
09 Do
10 DoEvents
11 Loop Until IE.readystate = 4
12
13 'para completar el campo de búsqueda:
14 'código identificado en la url www.google.es:
15 'input id=gbqfq class=gbqfif name=q type=text autocomplete=off value=""
16 IE.Document.getelementbyid("gbqfq").Value = "excelforo"
17 'para realizar la búsqueda presionamos el botón de Buscar..
18 ''código identificado en la url www.google.es:
19 'button class="gbqfba" aria-label="Buscar con Google" id="gbqfba" name="btnK"
20 IE.Document.getelementbyid("gbqfba").Click
21 'IE.Document.All("btnK").Click otra forma de llamarlo..
22
23 'finalmente hacemos visible la ventana de Internet Explorer
24 IE.Visible = True
25
26 End Sub
Para comprender correctamente el código empleado, debemos saber localizar el Id o Name de los
cuadros de texto o botones que vayamos a completar o presionar (clicar), siempre en un lenguaje
HTML.. ya que otros formularios en script no son accesibles...
El primer paso, en la barra de direcciones del navegador (para este paso se recomienda o FireFox o
Google Chrome), introduciremos la url indicada (en nuestro ejemplo: www.google.es).
En segundo lugar, con el botón derecho del ratón, seleccionaremos Inspeccionar Elemento sobre
el 'cuadro de búsqueda':
Seguidamente se nos desplegarán, en la parte inferior del navegador unas ventanas con código
HTML que refleja lo que vemos... remarcado en azul la parte de código que afecta al elemento
clicado:
Y para el botón 'Buscar con google...' la misma acción, sobre él, presionamos botón derecho e
Inspeccionar elemento:
Es fundamental, para emplearlo en nuestro código VBA para Excel, localizar de cada elemento, la
característica Id (o Name):
Para el cuadro de búsqueda: id="gbqfq" y name="q";
Para el botón: id="gbqfba" y name="btnK"
Por desgracia existen multitud de formularios en las diferentes web que no emplean HTML, o no
tienen definidos estos parámetros Id o Name... pero merece la pena intentarlo.
Por supuesto los valores a incorporar, lo podemos extraer de nuestras celdas, por ejemplo en la
línea:
IE.Document.getelementbyid("gbqfq").Value = "excelforo"
por
IE.Document.getelementbyid("gbqfq").Value = Range("A1").Value
Publicado por Excelforo Ismael Romero
TEMAS: Macros
Valoracion:
Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con
FacebookCompartir en Pinterest
26 comentarios:
1.
Unknownmarzo 03, 2015
Hola buenas. Ya tengo funcional el codigo de cargar pagina, rellenar el formulario y clickear en
buscar, ahora estoy intentado asignar parte del texto del resultado a una variable de vba. Intento
hacer whois desde excel, y que de cada ip te de el pais.
o el Id que tengas...
Espero te funcione.
Saludos
Responder
2.
imkosmayo 12, 2015
Buenas y gracias de antemano por la info facilitada, me ha servido de ayuda.
Pero me surge una duda.
Yo accedo a mi formulario inicial (www.mipagina.com/default.aspx) relleno los input y presiono el
botón, como indicas. Esto funciona perfectamente y me carga la página siguiente (también en
www.mipagina.com/default.aspx) con nuevos input y button. Cuando quiero hacer click del botón
de la segunda página, no encuentra el elemento.
Alguna sugerencia para "refrescar" los elementos del IE.Document con los de la segunda página?
Un saludo.
Responder
Respuestas
1.
Excelforo Ismael Romeromayo 13, 2015
Hola,
en teoría el bucle
Do
DoEvents
Loop Until IE.readystate = 4
gracias!!!
Responder
Respuestas
1.
Excelforo Ismael Romerodiciembre 14, 2015
Hola Luis,
te has asegurado de instalar la referencia que se comenta en el post??
'Fundamental para el correcto funcionamiento es instalar la referencia Microsoft Internet
Controls, desde el menú Herramientas > Referencias del editor de VBA'
Saludos
Responder
4.
Jimmy Palacios Urbanoabril 13, 2016
Hola amigo saludos. Gracias desde ya por tu ayuda.
Yo necesito Refrescar una Lista desplegable cuyos valores dependen de otra lista. Es decir, que el
control internamente cargue los valores o indices.
Responder
Respuestas
1.
Excelforo Ismael Romeroabril 13, 2016
Hola Jimmy,
quizá esta entrada te de la pista.
http://excelforo.blogspot.com.es/2009/10/ejemplo-de-doble-validacion.html
Saludos
Responder
5.
Jimmy Palacios Urbanoabril 14, 2016
Este comentario ha sido eliminado por el autor.
Responder
6.
Jimmy Palacios Urbanoabril 14, 2016
En 1er lugar agradecerle por su respuesta muy rápida, en 2do lugar disculparme por no detallar
bien mi problema.
Mi pregunta es con respecto a Rellenar un Formulario Web aspx desde Excel VBA.
He logrado poner los valores en 3 ComboBox, pero hay un 4to Combo q depende de lo q elija en
este 3er Combo, he usado el código de tu Blog y es lo siguiente, pero nada queda en blanco:
Abrir_IE.document.getElementById("ctl00_ContentPlaceMain_ddlSeccion").Click
Abrir_IE.document.getElementById("ctl00_ContentPlaceMain_ddlSeccion").Value = Range("e12")
Necesito simular un click en ese objeto para q cargue o refresque los valores en el objeto para
recién asignarle el Value.
Ahora si detalle bien mi problema. Gracias por compartir sus conocimientos, estaré pendiente de
su respuesta.
Responder
Respuestas
1.
Excelforo Ismael Romeroabril 14, 2016
Hola Jimmy,
en principio no conozco otra forma que con esa propiedad .click
podría ser más un tema del formulario Web que un problema del código... por desgracia no
siempre es posible atacar formularios webs desde Excel, ya que los webmaster tienen
herramientas para evitar entradas desde robots u otros accesos automatizados.
Abrir_IE.document.getElementById("ctl00_ContentPlaceMain_ddlPeriodo").Value = Range("d8")
Abrir_IE.document.getElementById("ctl00_ContentPlaceMain_ddlGrado").Value = Range("e11")
Do While Abrir_IE.busy
DoEvents
Loop
Abrir_IE.document.getElementById("ctl00_ContentPlaceMain_ddlGrado").Click
Ahora mi pregunta seria si es que es posible ejecutar codido javascrip desde VBA Excel, tal vez ahi
está la solución. GRACIAS
Responder
Respuestas
1.
Excelforo Ismael Romeroabril 15, 2016
Hola,
si es posible... aunque nunca lo he usado leí algo al respecto hace bastante tiempo, se trata del
método de windows execscript,
por ejemplo:
IE.Document.parentWindow.execScript "ctl00_ContentPlaceMain_ddlSeccion;"
no controlo mucho de java... pero quizá te de la pista.
Slds
2.
Jimmy Palacios Urbanoabril 15, 2016
Ok, Gracias lo probaré...
Responder
9.
Jimmy Palacios Urbanoabril 17, 2016
Este comentario ha sido eliminado por el autor.
Responder
10.
Jimmy Palacios Urbanoabril 17, 2016
Hola Ismael, aqui otra vez 1ro para compartir la solución y 2do para hacerte una nueva consulta:
1. SOLUCIÓN usando el Método windows execscript:
Sub RellenarNotas()
Dim Abrir_IE As Object
Set Abrir_IE = CreateObject("internetexplorer.Application")
With Abrir_IE
.Top = 1
.Left = 1
.Width = 600
.Height = 400
.Visible = True
.Navigate
("http://sistemas10.minedu.gob.pe/siagie3/ExamenPorSeccion.aspx?sPms=Up11f8wTMi7VbctOh4
deCw%3d%3d")
Do While Abrir_IE.Busy: DoEvents: Loop
Application.Wait (Now + TimeValue("0:00:03"))
End With
Abrir_IE.Document.getElementById("ctl00_ContentPlaceMain_ddlPeriodo").Value = Range("d8")
Abrir_IE.Document.getElementById("ctl00_ContentPlaceMain_ddlGrado").Value = Range("e11")
Abrir_IE.Document.parentWindow.execScript "javascript:
setTimeout('__doPostBack(\'ctl00$ContentPlaceMain$ddlSeccion\',\'\')', 0)", "JavaScript"
Application.Wait (Now + TimeValue("0:00:01"))
Abrir_IE.Document.getElementById("ctl00_ContentPlaceMain_ddlSeccion").Value = Range("e12")
Abrir_IE.Document.parentWindow.execScript
"javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceMain$ddlArea\',\'\')', 0)", "JavaScript"
Application.Wait (Now + TimeValue("0:00:01"))
Abrir_IE.Document.getElementById("ctl00_ContentPlaceMain_ddlArea").Value = Range("i8")
2. Cuando hago Click en el "Boton REGISTRO" se abre otra ventana de IE y es en donde pondre las
notas de estudiantes, y al cual ya no puedo controlar; ¿Cómo haría para tener control de esa
nueva ventana, o tal vez Cómo a partir de ese click crear un nuevo objeto IE y de ahi si podria
controlar todos sus elementos?
-He intentado creando otro objeto IE a partir del Link que genera el Boton REGISTRO, pero se
abren 2 ventanas iguales.
Tal vez necesite crear una Funcion o almacenar ese objeto o ese Click en una Variable, estas 2
cosas lo desconozco.
Desde ya GRACIAS por tu ayuda.
Responder
11.
Jimmy Palacios Urbanoabril 20, 2016
AYUDA POR FAVOR...
Cuando hago Click en el "Boton REGISTRO" se abre otra ventana de IE y es en donde pondre las
notas de estudiantes, y al cual ya no puedo controlar; ¿Cómo haría para tener control de esa
nueva ventana, o tal vez Cómo a partir de ese click crear un nuevo objeto IE y de ahi si podria
controlar todos sus elementos?
-He intentado creando otro objeto IE a partir del Link que genera el Boton REGISTRO, pero se
abren 2 ventanas iguales.
Tal vez necesite crear una Funcion o almacenar ese objeto o ese Click en una Variable, estas 2
cosas lo desconozco.
Desde ya GRACIAS por tu ayuda.
Responder
Respuestas
1.
Excelforo Ismael Romeroabril 21, 2016
Hola,
lo siento... no sabría darte una respuesta.
Slds
2.
Jimmy Palacios Urbanoabril 22, 2016
Ok Gracias amigo Ismael...
3.
Amandoseptiembre 09, 2016
A ver si te valiera ésto:
En el código:
Dim ie2 as internetExplorer
...
End Function
Responder
12.
Unknownmayo 24, 2016
Este comentario ha sido eliminado por el autor.
Responder
13.
Erick Castillomayo 24, 2016
hola buenas tardes, me parece muy interesante y admirable lo que haces al ayudarnos y darnos
excelentes inicio s para experimentos, sabes? tengo una duda que me detiene en un proyectito y
espero que puedas ayudarme, en tu basta experiencia crees que pueda importar datos de una
pagina web que ya esta cargada en un navegador externo a excel? digase firefox o chrome o ie? es
que ya intente hacerlo de forma directa pero no puedo al momento de hacerlo por codigo me es
casi imposible ya que debo de introducir varios datos de los cuales obtengo varios resultados y de
alli debo elegir el que busco y entonces la pagina arroja una tabla, la cual es la que necesito cargar
a excel una vez que he cargado las variables anteriores, crees que eso sea posible???? muchas
gracias
Responder
Respuestas
1.
Excelforo Ismael Romeromayo 24, 2016
Hola Erick,
en principio si es posible, ya que cada vez que navegamos en una Web interaccionamos y son
acciones que se pueden representar y replicar desde las macros de Excel...
Ahora bien, la realidad es que todo es más complejo que la teoría, y no siempre es posible replicar
los movimientos que plasmamos :(
El asunto se complica aún un poco más si en lugar de IE lo queremos hacer sobre Chrome, FireFox,
etc...
Un saludo y suerte!!
Responder
14.
xysadmayo 29, 2016
Hola a todos, necesito algo similar a esto pero que funcione en el navegador TOR, sera posible?
Responder
Respuestas
1.
Excelforo Ismael Romeromayo 30, 2016
Hola,
no conozco ese navegador.. pero supongo existirá su librería y podrás instalarla en Excel para
poder trabajar con él...
??
Slds
Responder
Entrada más recienteEntrada antiguaPágina principal
Suscribirse a: Enviar comentarios (Atom)
Entrada destacada
Curso Excel Presencial en Madrid - 20 horas - Nivel Avanzado
¿Vives en Madrid?, ¿Te interesa la mejor formación en Excel presencial?. Curso Presencial Excel
Avanzado en Madrid con una duración de 20 h...
________________________________________
Cursos Excel y Macros por Excelforo...
Seguir a @Excelforo
________________________________________
Subscríbete gratis a EXCELFORO
________________________________________
Si quieres recibir en tu correo las actualizaciones del blog, introduce tu dirección de email:
Delivered by FeedBurner
No olvides verificarlo para activar la suscripción!!
________________________________________
Seguidores
Google+ Followers
Todas las entradas del blog...
Temas:
Análisis de datos-estadísticos (3) Análisis de sensibilidad (4) Asignar nombres a rangos(27) Buscar
objetivo-Solver (19) Cursos Excel (49) Escenarios (1) Filtros (9)Financieras (19) Formato (6)
Formato condicional (34) Funciones(202) Funciones Base de datos (7)Gráficos (82) Macros
(238)Matriciales (64) NPGC 2007 (8) Ordenar(2) Tabla dinámica (58) Validacion (22)Varios (160)
Lijit Search
Normas de uso:
Por favor, es importante, dedica unos segundos a leer las Normas de uso
Últimos comentarios realizados...
• El MXN es l dato fijo - 13/9/2016 - Juan Barajas
• Me puede apoyar para realizar una verificacion de ... - 13/9/2016 - Rag
• Benas tades, soicito de su ayuda, ya que necesito ... - 13/9/2016 - Juan Barajas
• Eso no funciona, ya que la alerta no proviene de e... - 13/9/2016 - Melguizo Martínez
• que raro... probaría añadiendo y deshabilitando la... - 13/9/2016 - Excelforo Ismael
Romero
Este artículo contiene el código necesario para poder guardar una hoja
de Microsoft Excel mediante programación o código de macros.
Más información
Para poder ejecutar este código correctamente, hay que tener activada
la referencia HTML. Esto podrá hacerlo desde el Editor de Visual Basic
(ALT+F11), en el menú Herramientas/Referencias, marcando la opción
HTML. Si dicha opción no le aparece disponible en la lista, basta con
que pulse en el botón examinar y localice en su disco el fichero
HTML.XLA.
Sub GuardarHtml()
Result = htmlconvert(rangeandcharttoconvert:=ObjToConvert, _
useexistingfile:=False, _
usefrontpageforexistingfile:=False, _
addtofrontpageweb:=False, codepage:=1252, _
htmlfilepath:=ruta, _
headerfullpage:=titulo, _
linebeforetablefullpage:=True)
Referencias
Para más información sobre cómo poder realizar esto mismo con una
versión de Microsoft Excel en inglés, consulte el siguiente artículo
de la base de conocimientos de Microsoft:
ARTICLE-ID: 168561
TITLE : xl97: How to Programmatically Save a Worksheet as HTML
Propiedades
Id. de artículo: 551147 - Última revisión: 04/10/2003 10:35:23 - Revisión: 2.0
La información de este artículo se refiere a:
Microsoft Excel 97 Standard Edition
Palabras clave:
• assistant code html internet macro wizard KB551147
Comentarios