WebBrowser
#1
Régulier XLPages

Inscription: 24/12/2007

Messages: 59

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 26-03-2008 20h10
Bonjour à tous.
Dans mon projet j'ai:
[list]
[*]un UserForm;
[*]un WebBrowser;
[/list]
Sur internet (sous Internet Explorer), quand je clique sur un lien, soit la page d'ouvre dans la même fenêtre soit la page s'ouvre dans une même fenêtre.

Dans un WebBrowser, les pages qui s'ouvrent dans une nouvelle fenêtre sous IE s'ouvriront aussi dans une nouvelle fenêtre. Est-ce possible que cette fenêtre ne s'ouvre pas jusque là je sais faire. Mais je souhaite en plus que la page qui ne c'est pas ouverte s'ouvre dans mon WebBrowser.

Voilà un petit shémas récapitulatif:
Image redimensionnée

A +

Venez sur mon nouvau site: http://www.power-plus-technologie.fr.tc/
Hors Ligne
Rapport   Haut 

Re: WebBrowser
#2
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1483

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016
Posté le : 26-03-2008 21h49
Bonsoir PowerPlus,

J'ai déjà été confronté à cette situation. Je me souviens qu'après de multiples recherches sur le Net pour trouver une solution, les propositions que j'avais testées, avaient échouées chez moi...

J'avais finalement adopté un système très simple qui se résume au code suivant :

Option Explicit
'On utilise une variable de niveau module (en entête) pour passer sa valeur entre plusieurs procédures
Dim UrlEnCours As String

Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
    '
On empêche la création d'une autre fenêtre Web
    Cancel = True
    '
On force le WebBrowser à afficher l'Url cible
    WebBrowser1.Navigate UrlEnCours
End Sub

Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
    '
On mémorise l'Url cible
    UrlEnCours = Text
End Sub


Tu trouveras ci-joint un rapide exemple mettant ce code en pratique.

Cet exemple affiche une page Web (prise au hasard ) et dont l'Url est la suivante : mDF MFCmultiples
Si tu affiches cette page dans Internet Explorer et que tu cliques sur le logo "New Version 5.0" (en haut et à droite de la page), une autre fenêtre IE se crée pour afficher la suite...

Dans l'exemple joint, la même chose force l'ouverture du lien dans l'unique WebBrowser comme tu le souhaites.

En espérant t'avoir aidé...

Cordialement,
Pièce jointe:
zip WebBrowser1Frame.zip   [ Taille: 10.63 Ko - Téléchargements: 484 ]

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

WebBrowser
#3
Régulier XLPages

Inscription: 24/12/2007

Messages: 59

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 27-03-2008 17h19
Merci myDearFriend, toujours aussi efficace.
En tout cas le code est correcte et c'est ce que je voulais.

Dans votre code, la variable ne sevrai pas plutôt s'appeler UrlCible plutôt que UlrEnCours ?

Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
    
'On mémorise l'Url cible
    UrlEnCours 
Text


Ce qui est pratique c'est que vous avez répondu à une autre de mes interrogations: comment peut-on faire une barre d'état ? Et bien grâce à ce code je le sait.

Merci pour tous et à bientôt.

Venez sur mon nouvau site: http://www.power-plus-technologie.fr.tc/
Hors Ligne
Rapport   Haut 

Re: WebBrowser
#4
Débutant XLPages

Inscription: 12/08/2007

Messages: 12

Posté le : 27-03-2008 17h49
bonjour à vous ... ;o)

juste pour info, voici la méthode que j'utilise pour forcer l'affichage dans le WebBrowser:

(à placer dans le module objet du UserForm)


Option Explicit

Dim WithEvents cible 
As SHDocVw.WebBrowser_V1

Private Sub cible_NewWindow(ByVal URL As String_
    ByVal Flags 
As LongByVal TargetFrameName As String_
    PostData 
As VariantByVal Headers As StringProcessed As Boolean)

    
Processed True
    WebBrowser1
.Navigate URL
End Sub



Private Sub UserForm_Initialize()
    
Set cible WebBrowser1
    WebBrowser1
.Navigate2 "http://www.mdf-xlpages.com/smartsection+item.itemid+53.htm"
End Sub




bonne soirée
michel
Hors Ligne
Rapport   Haut 

Re: WebBrowser
#5
Webmestre

Inscription: 18/05/2006
De Saône-et-Loire (71)

Messages: 1483

Système d'exploitation:
PC
Version Excel utilisée:
97, 2000, 2002, 2003, 2007, 2010, 2013, 2016
Posté le : 27-03-2008 19h14
Bonsoir PowerPlus, ami MichelXLD, le Forum,

Citation :

PowerPlus a écrit:
Dans votre code, la variable ne devrait pas plutôt s'appeler UrlCible plutôt que UlrEnCours ?

Tu as tout à fait raison PowerPlus, un petit défaut de logique de ma part sur ce choix.

En tout cas, bravo et merci Michel pour le code que tu propose encore ici. Ca fait nettement moins bricolage que ce que j'avais monté
On n'y pense jamais assez à ce petit Dim WithEvents, souvent bien utile pour exploiter des évènements non existants par défaut. Je ne sais pas d'où tu sors ta doc sur le sujet, mais je prends bonne note à chaque fois de ces astuces bien utiles...

A bientôt,

Didier_mDF
Image redimensionnée
Le Webmaster

La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien
Hors Ligne
Rapport   Haut 

WebBrowser
#6
Régulier XLPages

Inscription: 24/12/2007

Messages: 59

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 27-03-2008 19h59
Bonjour,
Certes votre code fais "bricrolage", mais c'est celui que je vais adopté pour le moment car je le comprend (ce sont des procédues que je métrisait déjà, sauf pour la fonction "text" de l'évènement "StatusTextChange" mais c'est pas trop compliqué à comprendre) et depuis le début je ne cesse de faire du bricolage, pour éviter de venir trop souvent sur des forums !

Alors que le code de MichelXld , que je remercie aussi pour l'aide appartée, est trop difficil pour moi. Evidement je serai ravi de recevoir un code commenté, si possible, afin de parfaire mes connaissances. Merci de votre compréhension MichelXld.

A + tous le monde et merci pour votre aide !

Venez sur mon nouvau site: http://www.power-plus-technologie.fr.tc/
Hors Ligne
Rapport   Haut 

Re: WebBrowser
#7
Débutant XLPages

Inscription: 12/08/2007

Messages: 12

Posté le : 27-03-2008 20h37
rebonsoir ... ;o)

voici la source initiale VB6 que j'avais adapté pour un fonctionnement en VBA

http://www.kbalertz.com/kb_185538.aspx


bonne soirée
michel
Hors Ligne
Rapport   Haut 

WebBrowser
#8
Régulier XLPages

Inscription: 24/12/2007

Messages: 59

Système d'exploitation:
PC
Version Excel utilisée:
2007
Posté le : 27-03-2008 20h44
Re,
merci beaucoup MichelXld.

A +

Venez sur mon nouvau site: http://www.power-plus-technologie.fr.tc/
Hors Ligne
Rapport   Haut 


Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Qui consulte actuellement ce sujet ?   1 Utilisateur(s) anonymes