Trop de vide dans le webbrowser

YANN-56

XLDnaute Barbatruc
Bonsoir à ceux qui passeront par là.

J'ai dans ma bidouille un WebBrowser qui ne marche pas trop mal.

Cependant, j'aimerais que le message n'attende pas d'avoir défilé
la totalité de la longueur du label pour se réitérer.
Qu'il se rédige à nouveau, just'après le point final.

Est-ce possible? Je n'arrive pas à le faire ..

Merci d'avance, et bonne fin de semaine.

Yann
 

Pièces jointes

  • TEST_WEB.xls
    29.5 KB · Affichages: 101

Roland_M

XLDnaute Barbatruc
Re : Trop de vide dans le webbrowser

bonsoir

il n'y a pas trop de vide puisqu'il n'y en pas du tout !
c'est normal dans le défilement la chaine ne reprend au début que lorsqu'elle
est passée entièrement !

il faudrait procéder autrement mais dans cette condition on ne peut rien y faire !
 

MichelXld

XLDnaute Barbatruc
Re : Trop de vide dans le webbrowser

bonjour

C'est peut être possible dans un WebBrowser mais il faudrait préalablement te rapprocher des forums JavaScript pour trouver la fonction de substitution à la balise 'Marquee', et qui permettrait de réaliser ce genre de présentation.

L'exemple suivant ne répond pas totalement à ta demande mais te montrera comment intégrer la fonction JavaScript dans ton projet :

En remplaçant

Code:
UserForm1.WebBrowser1.Navigate _
"about:<html><body><body scroll='no' bgcolor=#ffffff><width=100% height=100%>" _
& "<body topmargin=0><font color=  #00008b & size='5' face='NEW'>" & _
"<MARQUEE>" & REDACTION & "<REDACTION align='top' ></marquee></font></body></html>"
par
Code:
Dim AjoutFonction As String
Dim maPageHtml As Object 'HTMLDocument

'Création d'une page vierge qui va servir de support
UserForm1.WebBrowser1.Navigate "about:<html><body></body></html>"

AjoutFonction = AjoutFonction & "<html><body scroll='no' bgcolor=#ffffff>" & _
    "<width=100% height=100%><form name = 'message'>" & _
    "<input name = 'scroll_text' size = '40'></form></body></html>"

'--- fonction javascript ---
'source :
'http://docanski.free.fr/valastuc/astupl18.htm
AjoutFonction = AjoutFonction & "<html><body><script language=""javascript"">" & vbCrLf
AjoutFonction = AjoutFonction & "function scroll(n)" & vbCrLf
AjoutFonction = AjoutFonction & "{var blanc="" "";" & vbCrLf
AjoutFonction = AjoutFonction & "var texte = '" & REDACTION & "';" & vbCrLf
AjoutFonction = AjoutFonction & "var scrolling_text = blanc + texte;" & vbCrLf
AjoutFonction = AjoutFonction & "scrolling_text = scrolling_text.substring(n,scrolling_text.length);" & vbCrLf
AjoutFonction = AjoutFonction & "document.message.scroll_text.value = scrolling_text;" & vbCrLf
AjoutFonction = AjoutFonction & "if(scrolling_text.length > 0) n ++;" & vbCrLf
AjoutFonction = AjoutFonction & "else n = 0;" & vbCrLf
AjoutFonction = AjoutFonction & "s = n;" & vbCrLf
AjoutFonction = AjoutFonction & "n = setTimeout(""scroll(s)"", 100);}" & vbCrLf
AjoutFonction = AjoutFonction & "</script></body></html>"

'Insertion de la fonction JavaScript dans le WebBrowser
UserForm1.WebBrowser1.Document.writeln AjoutFonction

Set maPageHtml = UserForm1.WebBrowser1.Document
'Déclenchement de la fonction JavaScript (5=vitesse)
maPageHtml.parentWindow.execScript "scroll(5);", "javascript"


Sinon, le plus simple serait encore de faire défiler ton libellé dans un classique contrôle TextBox VBA : tu trouveras de nombreux exemples sur le forum.


bonne journée
michel
 

JNP

XLDnaute Barbatruc
Re : Trop de vide dans le webbrowser

Bonjour le Fil :),
Une solution, certe un peu "bourrin", mais efficace :
Code:
Case Is = 1
REDACTION = _
"Ce que vous aurez choisi + Le Nom du Fichier ----- "
REDACTION = REDACTION & REDACTION & REDACTION & REDACTION
Bon WE :cool:
 

Roland_M

XLDnaute Barbatruc
Re : Trop de vide dans le webbrowser

bonjour à tous

Salut JNP
j'ai essayé de cette manière mais au bout d'un moment on arrive quand même à la fin !
ça ne change rien !

Par-contre la modif proposée par MichelXLD(que je salut aussi) ça marche !

EDIT j'ai parlé un peu vite ça plante (mais je n'y connais rien en code HTML !?)
 
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Trop de vide dans le webbrowser

Re :),
Certe, tout s'arrête un jour, mais dixit l'aide
Code:
Les chaînes de longueur variable peuvent contenir
environ 2 milliards (2^31) de caractères.
Les chaînes de longueur fixe peuvent contenir
de 1 à environ 64 Ko (2^16) de caractères.
ça laisse de la marge pour admirer le paysage :p... Avec un petit
Code:
For I = 1 To 50
REDACTION = REDACTION & REDACTION
Next I
si le mec s'est toujours pas décidé à arrêter le prompteur, c'est qu'il s'est endormi :D!
Mais vu que la solution de Michel fonctionne, c'est nickel pour notre ami.
Re bon WE :cool:
 

YANN-56

XLDnaute Barbatruc
Re : Trop de vide dans le webbrowser

Bonjour à tous,

et Merci pour le temps que vous avez investi à me répondre.
J’aurai au moins récolté des adresses intéressantes.
Et appris un peu plus sur les limites du WebBrowser.

Quant à Michel, sympa de me pousser à découvrir le « JavaScript »
Bonjour les heures à piger ! Mais je vais y aller…

Pour l’instant, faire défiler un texte dans un TexBox ou même Label, je sais.
Finalement ça fait moins « Pro » en écriture mais tout aussi efficace en résultat,
Sinon plus ! (Leçon de modestie)

Que de gens supers sur ce site.

Et si vous ne répondiez pas si vite aux autres questions…
Peut-être moi aussi pourrai-je aider !!! Et toc !
Je connais quelques trucs, mais je suis un peu lent du caillou.

Encore Merci,

Et bonne fin de semaine à vous.

Yann
 

Discussions similaires

Réponses
12
Affichages
529

Statistiques des forums

Discussions
312 209
Messages
2 086 263
Membres
103 167
dernier inscrit
miriame