** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - CreateObject(Aplicacion)
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoCreateObject(Aplicacion)

 Responder Responder
Autor
Mensaje
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1258
Enlace directo a este mensaje Tema: CreateObject(Aplicacion)
    Enviado: 11/Noviembre/2021 a las 12:27
Windows_ vs Access_2010

Buenos dias al Foro
Me gustaria saber como crear una instancia al navegador predeterminado de Windows 10
Para lo que se me presentan dos problemas.
1.- Como obtener por codigo el navegador que tiene como predeterminado el PC
2.- Como referenciar la aplicacion del navegador a ese navegador predeteminado
Para internet explorer parece claro
Tanto puedes poner
Dim IE As Object
como
Dim IE As InternetExplorer
Y luego referenciarlo con
Set IE = CreateObject("InternetExplorer.Application")

Y la pregunta es como hacerlo para otros navegadores

Saludos


Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: La Gloria
Estado: Sin conexión
Puntos: 3861
Enlace directo a este mensaje Enviado: 11/Noviembre/2021 a las 21:55
Buenas.

Para saber el navegador (desde Excel)


dim getBrowser As String

getBrowser = CreateObject("WScript.Shell").RegRead("HKEY_CLASSES_ROOT\http\shell\open\ddeexec\application\")



Para abrir chrome

shell("C:\Users\XXX\AppData\Local\Google\Chrome\Application\Chrome.exe -url http:mvp-access.com")



Luis



Lo que hace es tomar del registro de windows el nombre del navegador

El Búho es un pajarraco
Arriba
fcoval Ver desplegable
Asiduo
Asiduo


Unido: 19/Enero/2013
Estado: Sin conexión
Puntos: 225
Enlace directo a este mensaje Enviado: 12/Noviembre/2021 a las 09:35
En respuesta al punto 1 que pide el compañero main, tengo una función (no es mia) que te podría servir:

Cita
'---------------------------------------------------------------------------------------
' Procedure : GetDefaultBrowser
' Author    : Daniel Pineault, CARDA Consultants Inc.
' Website   : http://www.cardaconsultants.com
' Purpose   : Returns the name of the System's Default Web Browser
' Copyright : The following is release as Attribution-ShareAlike 4.0 International
'             (CC BY-SA 4.0) - https://creativecommons.org/licenses/by-sa/4.0/
' Req'd Refs: Uses Late Binding, so none required
'
' Usage:
' ~~~~~~
' GetDefaultBrowser()
'   -> msedge, firefox, brave, iexplore, ...
'
' Revision History:
' Rev       Date(yyyy/mm/dd)        Description
' **************************************************************************************
' 1        2020-12-14              Initial Release
'---------------------------------------------------------------------------------------
Function GetDefaultBrowser() As String
    Dim oShell               As Object
    Dim sProgId               As String
    Dim sCommand              As String
    Dim aCommand              As Variant

    On Error GoTo Error_Handler

    Set oShell = CreateObject("WScript.Shell")
    'Default ProgId
    sProgId = oShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations" & _
                             "\UrlAssociations\https\UserChoice\ProgId")
                            
    'Cross-reference the sProgId to get the exe associated with it
    sCommand = oShell.RegRead("HKEY_CLASSES_ROOT\" & sProgId & "\shell\open\command\")
    'Parse the returned value to extract just the exe filename
    aCommand = Split(sCommand, Chr(34))
    GetDefaultBrowser = Right(aCommand(1), Len(aCommand(1)) - InStrRev(aCommand(1), "\"))    ' firefox.exe
    'Trim off the exe and only return the filename
    GetDefaultBrowser = Left(GetDefaultBrowser, InStr(GetDefaultBrowser, ".") - 1)    'firefox

    Debug.Print GetDefaultBrowser


Error_Handler_Exit:
    On Error Resume Next
    If Not oShell Is Nothing Then Set oShell = Nothing
    Exit Function

Error_Handler:
    MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _
           "Error Number: " & Err.Number & vbCrLf & _
           "Error Source: GetDefaultBrowser" & vbCrLf & _
           "Error Description: " & Err.Description & _
           Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
           , vbOKOnly + vbCritical, "An Error has Occurred!"
    Resume Error_Handler_Exit
End Function


Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1258
Enlace directo a este mensaje Enviado: 13/Noviembre/2021 a las 10:01
Buenos dias
La función de fcoval funciona perfectamente y estrujando un poco su contenido se puede obtener el Path de su ubicación.
Yo lo saqué asi..
Public Function PathBrowserDefault() As String
Dim oShell As Object, sProgId As String, sPath As String, sTemp As String

On Error GoTo Error_Handler
   Set oShell = CreateObject("WScript.Shell")
    'ProgId predeterminado
   sProgId = oShell.RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations" & _
                             "\UrlAssociations\https\UserChoice\ProgId")
'Hacemos una referencia al sProgId para obtener el exe asociado
   sPath = oShell.RegRead("HKEY_CLASSES_ROOT\" & sProgId & "\shell\open\command\")
   sTemp = Replace(Left(sPath, InStr(sPath, ".exe") + 3), Chr(34), "")
   PathBrowserDefault = sTemp
Error_Handler_Exit:
    On Error Resume Next
    If Not oShell Is Nothing Then Set oShell = Nothing
    Exit Function
Error_Handler:
    MsgBox "The following error has occurred" & vbCrLf & vbCrLf & _
           "Error Numero: " & Err.Number & vbCrLf & _
           "Error Funcion: GetDefaultBrowser" & vbCrLf & _
           "Error Descripción: " & Err.description & _
           Switch(Erl = 0, "", Erl <> 0, vbCrLf & "Line No: " & Erl) _
           , vbOKOnly + vbCritical, "Se ha producido un error!"
    Resume Error_Handler_Exit
End Function
Por otra parte, las instrucciones de Ibauluz  no me funcionan en access_2010. La primera creo que siempre lleva al internet explorer y en la segunda no tengo el Path del "Shell"
en cualquier caso muchas gracias a ambos porqué mi pregunta ha quedado resuelta.
Ahora solo me queda preguntaros si desde Access_2010 se puede interactuar con los otros navegadores (Chrome, Firefox etc..) para manejar el HTML del documento y poder asi cubrir formularios y leeer sus elementos?
O se podria registrar algún ActiveX compatible para otros navegadores..
Gracias, de nuevo, a ambos
Arriba
lbauluz Ver desplegable
Administrador
Administrador
Avatar

Unido: 29/Marzo/2005
Localización: La Gloria
Estado: Sin conexión
Puntos: 3861
Enlace directo a este mensaje Enviado: 15/Noviembre/2021 a las 12:27
Pues que yo sepa, no se puede, VBA solo interactúa con IExplorer.

Pero lo dicho, eso es lo que yo sé, igual hay alguna forma de usar otros navegadores.

Luis
El Búho es un pajarraco
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1258
Enlace directo a este mensaje Enviado: 15/Noviembre/2021 a las 19:24
Gracias Ibauluz
Se puede cerrar el Tema
Arriba
Mihura Ver desplegable
Administrador
Administrador
Avatar

Unido: 06/Mayo/2005
Localización: En la dehesa
Estado: Sin conexión
Puntos: 14025
Enlace directo a este mensaje Enviado: 15/Noviembre/2021 a las 19:31
https://seocom.agency/es/blog/imacros-una-herramienta-para-automatizar-tareas-con-el-navegador/
Jesús Mansilla Castells.
Saludos desde Móstoles.

Access Aplicaciones
Tecsys.es
Arriba
main Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 31/Agosto/2009
Localización: OVIEDO
Estado: Sin conexión
Puntos: 1258
Enlace directo a este mensaje Enviado: 17/Noviembre/2021 a las 11:11
Buenos dias
Gracias,Mihura, por el enlace aunque ya me habia descargado el Selenium IDE que es una extension que vale para distintos navegadores y sirve practicamente para lo mismo y me pareció mas intuitivo.
Pero rebuscando por la web acerca de selenium me encuentro con cierta información por la que parece  que dispone de una libreria que registra en "Referencias" y permitiria interactuar con Excel. Si asi fuese supongo que tambien podria hacerse desde Access.
Este es el enlace
Con dos utilidades
Y

No se todo lo que podran dar de si, pero a priori se ven algunos ejemplos por ahi.
Yo me descargue los dos
SeleniumBasic-2.0.9.0.exe y SeleniumWrapperSetup-1.0.17.0.exe
y efectivamente me instaló en Referencias la libreria de Selenium

Por mi parte, le echaré un vistazo mas intenso las próximas navidades por si es factible usarlo o empezar a estudiar un poco acerca del HTML sobre su estructura y sus etiquetas.
Si alguien se anima, y verifica que funciona ya sabe donde encontrame Wacko
Gracias de nuevo, Mihura
Saludos al Grupo
Y de momento...
Se puede cerrar el Tema






Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable