Problema: Excel VBA ejecuta una página web ya abierta.
2. Llame a la función GetIE
El código busca la ventana de IE cuyo título contiene Baidu, luego controla para abrir hao123 y finalmente la guarda como c:\myhtml.txt.
¿Opciones? ¿Explícito
? El proyecto debe hacer referencia a "¿Microsoft? ¿HTML? ¿Objeto? Biblioteca"
¿Privado? ¿tipo? UUID
¿Datos1? ¿Como? Largo
¿Datos 2? ¿Como? Entero
¿Datos 3? ¿Como? Entero
Datos4(0? ¿Dónde? 7)? Byte
¿Fin? Tipo
¿Privado? ¿declarar? ¿Función? ¿Obtener texto de ventana? ¿Lib? ¿"Usuario 32"? ¿Alias? ¿"GetWindowTextA"? (¿ByVal?hWnd?como?dragón,?ByVal?lpString?como?cadena,?ByVal?cch?como?dragón)? ¿Como? Largo
¿Privado? ¿declarar? ¿Función? ObtenerWindowTextLength? ¿Lib? ¿"Usuario 32"? ¿Alias? ¿"GetWindowTextLengthA"? (¿PorVal?hWnd?As?Dragon)? ¿Como? Largo
¿Privado? ¿declarar? ¿Función? ¿Obtener nombre de clase? ¿Lib? ¿"Usuario 32"? _
¿Alias? ¿"ObtenerNombreClaseA"? (?_
ByVal?hWnd?As?Dragon,?_
ByVal?lpClassName?As?String,?_
ByVal?nMaxCount?As ? dragón)? ¿Como? Largo
¿Privado? ¿declarar? ¿Función? EnumWindows? ¿Lib? ¿"Usuario 32"? (ByVal?lpEnumFunc?as?dragon,?ByVal?lParam?as?dragon)? ¿Como? Sistema de álgebra booleana
¿Privado? ¿declarar? ¿Función? EnumChildWindows? ¿Lib? ¿"Usuario 32"? (¿ByVal?hWndParent?como?dragón,?ByVal?lpEnumFunc?como?dragón,?lParam?como?dragón)? ¿Como? Largo
¿Privado? ¿declarar? ¿Función? ¿Registrar mensaje de ventana? ¿Lib? ¿"Usuario 32"? _
¿Alias? ¿"RegisterWindowMessageA"? (?__
¿PorVal?lpString?como?String)? ¿Como? Largo
¿Privado? ¿declarar? ¿Función? ¿Tiempo de espera para enviar mensaje? ¿Lib? ¿"Usuario 32"? _
¿Alias? ¿"Enviar mensajeTimeoutA"? (?_
ByVal?hWnd?As?Dragon,?_
ByVal?MSG?As?Dragon,?_
ByVal?wParam?As? _
lParam? _
,? _
lpdwResultado? ¿Como? Largo
¿Privado? ¿Constante? ¿Aborto SMTO? =?ampDeuterium
¿Privado? ¿declarar? ¿Función? ¿Objeto de resultado? ¿Lib? "L'Oreal"(?_
ByVal?lResult?As?Dragon,?_
riid?As?UUID?_
ByVal?wParam? ¿Como ?dragón,?_
ppvObjeto? ¿Como? Largo
¿Oscuro? ¿IEhwnd? ¿Como? Largo
¿Oscuro? ¿Servidor IE? ¿Como? ¿Largo
? IEDOMFromhWnd
'
? devolver la mercancía? ¿eso? ¿Documento IHTML? ¿interfaz? ¿De donde? ¿respuesta? ¿Navegador web? Windows
? ¿Qué pasa? -?¿ventana? ¿manejar? ¿de? ¿eso? ¿Controlar la función
? IEDOMFromhWnd()? ¿Como? IHTMLDocument
¿Atenuado? ¿Documento IID_ihtml? ¿Como? UUID
¿Atenuado? ¿Qué pasa? ¿Como? Largo
¿Oscuro? ¿Res? ¿Como? Largo
¿Oscuro? ¿Mensaje? ¿Como? Largo
¿Oscuro? ¿HORA? ¿Como? ¿Largo
? ¿Descubrir? ¿respuesta? ¿niño? ¿ES DECIR? ¿servidor? Windows
EnumWindows? ¿DIRECCIÓN? EnumWindowProc? ¿Por Val? 0
¿Y si? ¿IEhwnd? ¿Entonces qué? EnumChildWindows? ¿IEhwnd? ¿DIRECCIÓN? EnumChildProc,? ¿PorVal? 0
¿Y si? ¿Servidor IE? ¿Entonces qué? ¿Qué pasa? =?IEServidor? ¿De lo contrario? ¿abandonar? Función
? ¿registro? ¿eso? Mensaje
l¿Mensaje? =?RegisterWindowMessage(" WM _ HTML _ GETOBJECT ")
? ¿conseguir? ¿eso? ¿Objeto? Puntero
¿Llamar? SendMessageTimeout(hWnd, lMsg, ?0, ?0, ?_
¿Aborto SMTO? 1000, ?lRes)
¿Si? ¿Res? ¿Entonces
? inicialización? ¿eso? ¿interfaz? Prueba de identidad
¿Qué utilizar? IID_ihtmldocument
.Data1? =? ampH626FC520
. =? ampHA41E
. =? ampH11CF
. =? ampHA7
. =? ampH31
. =? hipótesis nula
. =? amp ha 0
. =? ampHC9
. =? ampH8
. =? ampH26
. =? ampH37
¿Fin? ¿Con
? ¿conseguir? ¿eso? ¿Objeto? ¿De donde? lRes
hr? =?ObjectFromLresult(lRes,IID_IHTMLDocument,?0,?IEDOMFromhWnd)
¿Fin? Si
¿Finalizar? Función
¿Privada? ¿Función? ¿EsIEServerWindow(ByVal?hWnd?As?Dragon)? ¿Como? ¿El sistema de álgebra booleana
es oscuro? ¿Res? ¿Como? Largo
¿Oscuro? sNombreClase? ¿Como? Línea
sNombreClase? =?GetClsName(hWnd)
¿EsIEServerWindow? =?StrComp(sClassName,"Internet?Explorer_Server",?vbTextCompare)? =?0
¿Fin? Función
Nombre de clase de ventana de retorno
¿Pública? ¿Función? GetClsName(ByVal?hWnd?As?Dragon)? ¿Como? Línea
¿Oscura? Res?
¿Como? Largo
¿Oscuro? sNombreClase? ¿Como? Línea
sNombreClase? =?Cadena$(200,?0)
lRes? =?GetClassName(hWnd,sClassName,?Len(sClassName))
GetClsName? =?Izquierda$(sClassName,lRes)
¿Fin? Función
Título de la ventana de retorno
¿Público? ¿Función? GetWinTitle(ByVal?lhWnd?as?dragon)? ¿Como? Línea
¿Oscura? ¿Mi cadena? ¿Como? Línea
MyStr? =?String(200,?Chr$(0))
GetWindowText? lhWnd? MiStr,? 200
¿ObtenerWinTitle? =?Left(MyStr,?InStr(MyStr,Chr$(0))?-?1)
¿Fin? Función
¿Función? EnumWindowProc(ByVal?hWnd?as?dragon,?ByVal?lParam?as?dragon)? ¿Como? Largo
¿Oscuro? ¿Título SIE? ¿Como? Línea
sIEtítulo? =?GetWinTitle(hWnd)
¿Si? InStr(1,?sIEtitle,?"Baidu")? Utilice Baidu para buscar ventanas en el título.
¿IEhwnd? =?hWnd
Otro
EnumWindowProc? =?1
¿Fin? Si
¿Finalizar? Función
¿Función? enumchilproc(ByVal?hWnd?as?dragon,?lParam?as?dragon)? ¿Como? Largo
¿Y si? ¿EsIEServerWindow(hWnd)? Entonces
¿IEServer? =?hWnd
Otro
EnumChildProc? =?1
¿Fin? Si
¿Finalizar? Función
¿Función? ObtenerIE()? ¿Como? Largo
¿Oscuro? doctor. ¿Como? IHTMLDocument2
¿Atenuado? ¿s? ¿Como? Línea
¿Configuración? doctor. =?IEDOMFromhWnd
¿Si? ¿No es así? doctor. ¿Sí? ¿Nada? Entonces
¿Doc.url? =?""?Abrir la página web
¿Qué hacer? ¿hasta? Doc.readyState? =?"Completa"
Múltiples actividades
Anillos
s? =?Document.Text.innerHTML
¿Abrir? ¿"c:\mihtml.txt"? ¿para qué? ¿Producción? ¿Como? #1
¿Imprimir? #1,?s
Cerrar
¿finalizar? Si
¿Finalizar? Función