Bonjour à toutes et tous
je n'arrive pas à faire ouvrir une page html dans un nouvel onglet de
l'instance IE7 en cours.
Pour cela j'utilise une fonction (avec Api Windows) pour savoir si ie7 est
actif, puis une autre pour connaître sa version.
Voici le code :
Const navOpenInNewTab = 800
dim ieApp as Object
Sub testIE()
Dim Adr
Adr = "http://www.adressedusite.fr/index.php"
SetIeApp ' initialise ieApp suivant qu'il est déjà ouvert ou pas
If Not ieApp Is Nothing Then
If GetVersion() >= 7 Then
' LE PROBLEME EST LA : ouverture dans une nouvelle fenêtre au lieu
d'un nouvel onglet
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jacques93
Bonjour hasco, hasco a écrit :
Bonjour à toutes et tous je n'arrive pas à faire ouvrir une page html dans un nouvel onglet de l'instance IE7 en cours. Pour cela j'utilise une fonction (avec Api Windows) pour savoir si ie7 est actif, puis une autre pour connaître sa version. Voici le code :
Const navOpenInNewTab = 800 dim ieApp as Object
La constante navOpenInNewTab = &h800 ' (Hexadécimal), et non pas 800 en décimal :
En mettant 800 (décimal) c'est à dire &h320 (Hexadécimal), cela revient à :
navUntrustedForDownload Or navNewWindowsManaged or navBrowserBar
donc pas de nouvel onglet.
-- Cordialement,
Jacques.
Bonjour hasco,
hasco a écrit :
Bonjour à toutes et tous
je n'arrive pas à faire ouvrir une page html dans un nouvel onglet de
l'instance IE7 en cours.
Pour cela j'utilise une fonction (avec Api Windows) pour savoir si ie7 est
actif, puis une autre pour connaître sa version.
Voici le code :
Const navOpenInNewTab = 800
dim ieApp as Object
La constante navOpenInNewTab = &h800 ' (Hexadécimal), et non pas 800 en
décimal :
Bonjour à toutes et tous je n'arrive pas à faire ouvrir une page html dans un nouvel onglet de l'instance IE7 en cours. Pour cela j'utilise une fonction (avec Api Windows) pour savoir si ie7 est actif, puis une autre pour connaître sa version. Voici le code :
Const navOpenInNewTab = 800 dim ieApp as Object
La constante navOpenInNewTab = &h800 ' (Hexadécimal), et non pas 800 en décimal :
En mettant 800 (décimal) c'est à dire &h320 (Hexadécimal), cela revient à :
navUntrustedForDownload Or navNewWindowsManaged or navBrowserBar
donc pas de nouvel onglet.
-- Cordialement,
Jacques.
hasco
Bonjour Jacques et merci de ta réponse rapide mais hélas j'ai déjà fait ce que tu me suggère, sans résultat....
"Jacques93" a écrit :
Bonjour hasco, hasco a écrit : > Bonjour à toutes et tous > je n'arrive pas à faire ouvrir une page html dans un nouvel onglet de > l'instance IE7 en cours. > Pour cela j'utilise une fonction (avec Api Windows) pour savoir si ie7 est > actif, puis une autre pour connaître sa version. > Voici le code : > > Const navOpenInNewTab = 800 > dim ieApp as Object >
La constante navOpenInNewTab = &h800 ' (Hexadécimal), et non pas 800 en décimal :
En mettant 800 (décimal) c'est à dire &h320 (Hexadécimal), cela revient à :
navUntrustedForDownload Or navNewWindowsManaged or navBrowserBar
donc pas de nouvel onglet.
-- Cordialement,
Jacques.
Bonjour Jacques et merci de ta réponse rapide mais hélas j'ai déjà fait ce
que tu me suggère, sans résultat....
"Jacques93" a écrit :
Bonjour hasco,
hasco a écrit :
> Bonjour à toutes et tous
> je n'arrive pas à faire ouvrir une page html dans un nouvel onglet de
> l'instance IE7 en cours.
> Pour cela j'utilise une fonction (avec Api Windows) pour savoir si ie7 est
> actif, puis une autre pour connaître sa version.
> Voici le code :
>
> Const navOpenInNewTab = 800
> dim ieApp as Object
>
La constante navOpenInNewTab = &h800 ' (Hexadécimal), et non pas 800 en
décimal :
Bonjour Jacques et merci de ta réponse rapide mais hélas j'ai déjà fait ce que tu me suggère, sans résultat....
"Jacques93" a écrit :
Bonjour hasco, hasco a écrit : > Bonjour à toutes et tous > je n'arrive pas à faire ouvrir une page html dans un nouvel onglet de > l'instance IE7 en cours. > Pour cela j'utilise une fonction (avec Api Windows) pour savoir si ie7 est > actif, puis une autre pour connaître sa version. > Voici le code : > > Const navOpenInNewTab = 800 > dim ieApp as Object >
La constante navOpenInNewTab = &h800 ' (Hexadécimal), et non pas 800 en décimal :
Bonjour Jacques et merci de ta réponse rapide mais hélas j'ai déjà fait ce que tu me suggère, sans résultat....
Désolé, pas d'autre idées, chez moi ça marche ... -- Cordialement,
Jacques.
hasco
Par contre en forçant le format long par &h800& cela ouvre une nouvelle instance IE7 avec un onglet à la bonne adresse et un nouvel onglet vide
"hasco" a écrit :
Bonjour Jacques et merci de ta réponse rapide mais hélas j'ai déjà fait ce que tu me suggère, sans résultat....
"Jacques93" a écrit :
> Bonjour hasco, > hasco a écrit : > > Bonjour à toutes et tous > > je n'arrive pas à faire ouvrir une page html dans un nouvel onglet de > > l'instance IE7 en cours. > > Pour cela j'utilise une fonction (avec Api Windows) pour savoir si ie7 est > > actif, puis une autre pour connaître sa version. > > Voici le code : > > > > Const navOpenInNewTab = 800 > > dim ieApp as Object > > > > La constante navOpenInNewTab = &h800 ' (Hexadécimal), et non pas 800 en > décimal : > > Enum BrowserNavConstants > navOpenInNewWindow = &H1 > navNoHistory = &H2 > navNoReadFromCache = &H4 > navNoWriteToCache = &H8 > navAllowAutosearch = &H10 > navBrowserBar = &H20 > navHyperlink = &H40 > navEnforceRestricted = &H80 > navNewWindowsManaged = &H100 > navUntrustedForDownload = &H200 > navTrustedForActiveX = &H400 > navOpenInNewTab = &H800 > navOpenInBackgroundTab = &H1000 > navKeepWordWheelText = &H2000 > End Enum > > En mettant 800 (décimal) c'est à dire &h320 (Hexadécimal), cela revient à : > > navUntrustedForDownload Or navNewWindowsManaged or navBrowserBar > > donc pas de nouvel onglet. > > -- > Cordialement, > > Jacques. >
Par contre en forçant le format long par &h800&
cela ouvre une nouvelle instance IE7 avec un onglet à la bonne adresse et un
nouvel onglet vide
"hasco" a écrit :
Bonjour Jacques et merci de ta réponse rapide mais hélas j'ai déjà fait ce
que tu me suggère, sans résultat....
"Jacques93" a écrit :
> Bonjour hasco,
> hasco a écrit :
> > Bonjour à toutes et tous
> > je n'arrive pas à faire ouvrir une page html dans un nouvel onglet de
> > l'instance IE7 en cours.
> > Pour cela j'utilise une fonction (avec Api Windows) pour savoir si ie7 est
> > actif, puis une autre pour connaître sa version.
> > Voici le code :
> >
> > Const navOpenInNewTab = 800
> > dim ieApp as Object
> >
>
> La constante navOpenInNewTab = &h800 ' (Hexadécimal), et non pas 800 en
> décimal :
>
> Enum BrowserNavConstants
> navOpenInNewWindow = &H1
> navNoHistory = &H2
> navNoReadFromCache = &H4
> navNoWriteToCache = &H8
> navAllowAutosearch = &H10
> navBrowserBar = &H20
> navHyperlink = &H40
> navEnforceRestricted = &H80
> navNewWindowsManaged = &H100
> navUntrustedForDownload = &H200
> navTrustedForActiveX = &H400
> navOpenInNewTab = &H800
> navOpenInBackgroundTab = &H1000
> navKeepWordWheelText = &H2000
> End Enum
>
> En mettant 800 (décimal) c'est à dire &h320 (Hexadécimal), cela revient à :
>
> navUntrustedForDownload Or navNewWindowsManaged or navBrowserBar
>
> donc pas de nouvel onglet.
>
> --
> Cordialement,
>
> Jacques.
>
Par contre en forçant le format long par &h800& cela ouvre une nouvelle instance IE7 avec un onglet à la bonne adresse et un nouvel onglet vide
"hasco" a écrit :
Bonjour Jacques et merci de ta réponse rapide mais hélas j'ai déjà fait ce que tu me suggère, sans résultat....
"Jacques93" a écrit :
> Bonjour hasco, > hasco a écrit : > > Bonjour à toutes et tous > > je n'arrive pas à faire ouvrir une page html dans un nouvel onglet de > > l'instance IE7 en cours. > > Pour cela j'utilise une fonction (avec Api Windows) pour savoir si ie7 est > > actif, puis une autre pour connaître sa version. > > Voici le code : > > > > Const navOpenInNewTab = 800 > > dim ieApp as Object > > > > La constante navOpenInNewTab = &h800 ' (Hexadécimal), et non pas 800 en > décimal : > > Enum BrowserNavConstants > navOpenInNewWindow = &H1 > navNoHistory = &H2 > navNoReadFromCache = &H4 > navNoWriteToCache = &H8 > navAllowAutosearch = &H10 > navBrowserBar = &H20 > navHyperlink = &H40 > navEnforceRestricted = &H80 > navNewWindowsManaged = &H100 > navUntrustedForDownload = &H200 > navTrustedForActiveX = &H400 > navOpenInNewTab = &H800 > navOpenInBackgroundTab = &H1000 > navKeepWordWheelText = &H2000 > End Enum > > En mettant 800 (décimal) c'est à dire &h320 (Hexadécimal), cela revient à : > > navUntrustedForDownload Or navNewWindowsManaged or navBrowserBar > > donc pas de nouvel onglet. > > -- > Cordialement, > > Jacques. >
hasco
Re-Merci C'est peut-être une question d'installation ou de mise à jour ou des bloblotements dans les profondeurs abyssales des produits Microsoftiens!
A bientôt peut-être
"Jacques93" a écrit :
hasco a écrit : > Bonjour Jacques et merci de ta réponse rapide mais hélas j'ai déjà fait ce > que tu me suggère, sans résultat.... >
Désolé, pas d'autre idées, chez moi ça marche ... -- Cordialement,
Jacques.
Re-Merci
C'est peut-être une question d'installation ou de mise à jour ou des
bloblotements dans les profondeurs abyssales des produits Microsoftiens!
A bientôt peut-être
"Jacques93" a écrit :
hasco a écrit :
> Bonjour Jacques et merci de ta réponse rapide mais hélas j'ai déjà fait ce
> que tu me suggère, sans résultat....
>
Désolé, pas d'autre idées, chez moi ça marche ...
--
Cordialement,
Private Sub Command1_Click() Dim objInstances As Object, objIE As Object Dim IE As InternetExplorer
Set objInstances = CreateObject("Shell.Application").windows If objInstances.Count > 0 Then For Each objIE In objInstances If UCase(Right(objIE.FullName, 12)) = "IEXPLORE.EXE" Then MsgBox " Ouverture onglet dans l'instance d'Internet Explorer " & objIE.LocationURL objIE.Navigate "faq.vb.free.fr", navOpenInNewTab Exit Sub End If Next End If End Sub
-- Cordialement,
Jacques.
hasco a écrit :
Re-Merci
C'est peut-être une question d'installation ou de mise à jour ou des
bloblotements dans les profondeurs abyssales des produits Microsoftiens!
A bientôt peut-être
A tout hasard, le code que j'utilise, et qui fonctionne chez moi (je ne
gère pas la version) :
Private Sub Command1_Click()
Dim objInstances As Object, objIE As Object
Dim IE As InternetExplorer
Set objInstances = CreateObject("Shell.Application").windows
If objInstances.Count > 0 Then
For Each objIE In objInstances
If UCase(Right(objIE.FullName, 12)) = "IEXPLORE.EXE" Then
MsgBox " Ouverture onglet dans l'instance d'Internet Explorer "
& objIE.LocationURL
objIE.Navigate "faq.vb.free.fr", navOpenInNewTab
Exit Sub
End If
Next
End If
End Sub
Private Sub Command1_Click() Dim objInstances As Object, objIE As Object Dim IE As InternetExplorer
Set objInstances = CreateObject("Shell.Application").windows If objInstances.Count > 0 Then For Each objIE In objInstances If UCase(Right(objIE.FullName, 12)) = "IEXPLORE.EXE" Then MsgBox " Ouverture onglet dans l'instance d'Internet Explorer " & objIE.LocationURL objIE.Navigate "faq.vb.free.fr", navOpenInNewTab Exit Sub End If Next End If End Sub
-- Cordialement,
Jacques.
hasco
Excuse le retard à répondre mais fallait aller chercher du pain
J'ai essayé ta procédure et elle fonctionne correctement chez moi aussi.
Alors peut-être que la difficulté venait de la manière dont je récupérait l'objet IE par:
Set ieApp = GetObject("", "InternetExplorer.Application")
Même si les objets renvoyés sont de même type, ils ne semblent pas fonctionner de la même façon dans ta procédure et la mienne. Mystère
En tous cas Merci beaucoup. Le bonjour de Vendée!
"Jacques93" a écrit :
hasco a écrit : > Re-Merci > C'est peut-être une question d'installation ou de mise à jour ou des > bloblotements dans les profondeurs abyssales des produits Microsoftiens! > > A bientôt peut-être >
A tout hasard, le code que j'utilise, et qui fonctionne chez moi (je ne gère pas la version) :
Private Sub Command1_Click() Dim objInstances As Object, objIE As Object Dim IE As InternetExplorer
Set objInstances = CreateObject("Shell.Application").windows If objInstances.Count > 0 Then For Each objIE In objInstances If UCase(Right(objIE.FullName, 12)) = "IEXPLORE.EXE" Then MsgBox " Ouverture onglet dans l'instance d'Internet Explorer " & objIE.LocationURL objIE.Navigate "faq.vb.free.fr", navOpenInNewTab Exit Sub End If Next End If End Sub
-- Cordialement,
Jacques.
Excuse le retard à répondre mais fallait aller chercher du pain
J'ai essayé ta procédure et elle fonctionne correctement chez moi aussi.
Alors peut-être que la difficulté venait de la manière dont je récupérait
l'objet IE par:
Set ieApp = GetObject("", "InternetExplorer.Application")
Même si les objets renvoyés sont de même type, ils ne semblent pas
fonctionner de la même façon dans ta procédure et la mienne. Mystère
En tous cas Merci beaucoup. Le bonjour de Vendée!
"Jacques93" a écrit :
hasco a écrit :
> Re-Merci
> C'est peut-être une question d'installation ou de mise à jour ou des
> bloblotements dans les profondeurs abyssales des produits Microsoftiens!
>
> A bientôt peut-être
>
A tout hasard, le code que j'utilise, et qui fonctionne chez moi (je ne
gère pas la version) :
Private Sub Command1_Click()
Dim objInstances As Object, objIE As Object
Dim IE As InternetExplorer
Set objInstances = CreateObject("Shell.Application").windows
If objInstances.Count > 0 Then
For Each objIE In objInstances
If UCase(Right(objIE.FullName, 12)) = "IEXPLORE.EXE" Then
MsgBox " Ouverture onglet dans l'instance d'Internet Explorer "
& objIE.LocationURL
objIE.Navigate "faq.vb.free.fr", navOpenInNewTab
Exit Sub
End If
Next
End If
End Sub
Excuse le retard à répondre mais fallait aller chercher du pain
J'ai essayé ta procédure et elle fonctionne correctement chez moi aussi.
Alors peut-être que la difficulté venait de la manière dont je récupérait l'objet IE par:
Set ieApp = GetObject("", "InternetExplorer.Application")
Même si les objets renvoyés sont de même type, ils ne semblent pas fonctionner de la même façon dans ta procédure et la mienne. Mystère
En tous cas Merci beaucoup. Le bonjour de Vendée!
"Jacques93" a écrit :
hasco a écrit : > Re-Merci > C'est peut-être une question d'installation ou de mise à jour ou des > bloblotements dans les profondeurs abyssales des produits Microsoftiens! > > A bientôt peut-être >
A tout hasard, le code que j'utilise, et qui fonctionne chez moi (je ne gère pas la version) :
Private Sub Command1_Click() Dim objInstances As Object, objIE As Object Dim IE As InternetExplorer
Set objInstances = CreateObject("Shell.Application").windows If objInstances.Count > 0 Then For Each objIE In objInstances If UCase(Right(objIE.FullName, 12)) = "IEXPLORE.EXE" Then MsgBox " Ouverture onglet dans l'instance d'Internet Explorer " & objIE.LocationURL objIE.Navigate "faq.vb.free.fr", navOpenInNewTab Exit Sub End If Next End If End Sub
-- Cordialement,
Jacques.
Jacques93
hasco a écrit :
Excuse le retard à répondre mais fallait aller chercher du pain
Pas de problème, y'a pas que VB dans vie :-)
J'ai essayé ta procédure et elle fonctionne correctement chez moi aussi.
Alors peut-être que la difficulté venait de la manière dont je récupérait l'objet IE par:
Set ieApp = GetObject("", "InternetExplorer.Application")
Même si les objets renvoyés sont de même type, ils ne semblent pas fonctionner de la même façon dans ta procédure et la mienne. Mystère
En tous cas Merci beaucoup. Le bonjour de Vendée!
Bonjour aux vendéens, et merci du retour. Il semblerait effectivement que GetObject ait un comportement étrange avec IE7 (il réagit comme CreateObject apparemment). Il y a quelques traces sur google, mais pas vu d'explications.
-- Cordialement,
Jacques.
hasco a écrit :
Excuse le retard à répondre mais fallait aller chercher du pain
Pas de problème, y'a pas que VB dans vie :-)
J'ai essayé ta procédure et elle fonctionne correctement chez moi aussi.
Alors peut-être que la difficulté venait de la manière dont je récupérait
l'objet IE par:
Set ieApp = GetObject("", "InternetExplorer.Application")
Même si les objets renvoyés sont de même type, ils ne semblent pas
fonctionner de la même façon dans ta procédure et la mienne. Mystère
En tous cas Merci beaucoup. Le bonjour de Vendée!
Bonjour aux vendéens, et merci du retour. Il semblerait effectivement
que GetObject ait un comportement étrange avec IE7 (il réagit comme
CreateObject apparemment). Il y a quelques traces sur google, mais pas
vu d'explications.
Excuse le retard à répondre mais fallait aller chercher du pain
Pas de problème, y'a pas que VB dans vie :-)
J'ai essayé ta procédure et elle fonctionne correctement chez moi aussi.
Alors peut-être que la difficulté venait de la manière dont je récupérait l'objet IE par:
Set ieApp = GetObject("", "InternetExplorer.Application")
Même si les objets renvoyés sont de même type, ils ne semblent pas fonctionner de la même façon dans ta procédure et la mienne. Mystère
En tous cas Merci beaucoup. Le bonjour de Vendée!
Bonjour aux vendéens, et merci du retour. Il semblerait effectivement que GetObject ait un comportement étrange avec IE7 (il réagit comme CreateObject apparemment). Il y a quelques traces sur google, mais pas vu d'explications.