Macro qui accède directement a un bouton site web

Fermé
lora012 Messages postés 11 Date d'inscription vendredi 6 avril 2018 Statut Membre Dernière intervention 10 avril 2018 - Modifié le 8 avril 2018 à 16:01
yg_be Messages postés 22916 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 juillet 2024 - 10 avril 2018 à 15:46
bonjour a tous je suis nouvelle dans la prog
je voulais interagir avec une macro sur script ou un bouton qui se trouve dans un site intranet , mon soucis c'est que j'ai beau a cherché j'arrive pas a le déclenché , comment reconnaitre le bouton et comment appeler le javascript apartir de la macro ???
voila mon code
merci d'avance pour votre aide :)

Sub t2() 
'Déclaration des variables 
Dim IE As Object 
Dim IEDoc As Object 
Dim DOCelement As Object 
'Initialisation des variables 
Set IE = CreateObject("new:{D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E}") 

'Affichage de la fenêtre IE 
IE.Visible = True 

'Chargement de la page web 
IE.Navigate ("http://..................") 

' attente de fin de chargement 
Do Until IE.ReadyState = 4 
DoEvents 
Loop 

'On pointe le membre Document 
Set IEDoc = IE.Document 

'Tempo de 2 secondes 
Application.Wait Now + TimeValue("0:00:01") 


Set DOCelement = IEDoc.getElementsByTagName(" ..... ") 'declancher le bouton 
' DOCelement.Click 

'On libère la variable IE 
Set IE = Nothing 
End Sub


EDIT : Ajout des balises de codes.
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
A voir également:

1 réponse

yg_be Messages postés 22916 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 juillet 2024 1 481
Modifié le 8 avril 2018 à 10:17
bonjour, voici ton code un peu clarifié et corrigé.
tu peux voir que quand tu utilises getElementsByTagName, le tag n'est pas le nom de l'élément, c'est le type de l'élément, donc "BUTTON", et cela te donne une liste de tous les boutons.
tu peux éventuellement tester s'il s'agit du bon bouton avant de le cliquer.
Option Explicit

Sub t2()
'Déclaration des variables
Dim IE As InternetExplorer
Dim IEDoc As HTMLDocument
Dim DOCelementcol As IHTMLElementCollection
Dim DOCelement As HTMLButtonElement
'Initialisation des variables
Set IE = New InternetExplorer
'Affichage de la fenêtre IE
IE.Visible = True
'Chargement de la page web
IE.Navigate ("...")
' attente de fin de chargement
Do Until IE.ReadyState = 4
DoEvents
Loop
'On pointe le membre Document
Set IEDoc = IE.Document
'Tempo de 2 secondes
Application.Wait Now + TimeValue("0:00:01")
Set DOCelementcol = IEDoc.getElementsByTagName("BUTTON")
For Each DOCelement In DOCelementcol 'examiner tous les boutons
    If DOCelement.ID = "..." And DOCelement.Name = "..." And DOCelement.innerText = "..." Then
        DOCelement.Click
    End If
Next DOCelement
'On libère la variable IE
Set IE = Nothing
End Sub
0
lora012 Messages postés 11 Date d'inscription vendredi 6 avril 2018 Statut Membre Dernière intervention 10 avril 2018
Modifié le 8 avril 2018 à 16:00
bonjour, et merci pour votre réponse ,j'ai pas bien compris cette partie
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
 Set DOCelementcol = IEDoc.getElementsByTagName("BUTTON")
For Each DOCelement In DOCelementcol 'examiner tous les boutons
    If DOCelement.ID = "..." And DOCelement.Name = "..." And DOCelement.innerText = "..." Then
        DOCelement.Click
    End If
Next DOCelemen

,------------------------------------------------------- voici le code que j'ai trouver sur la page web intranet---------------------
'EnsureScriptFunc('offline.js', 'TakeOfflineToClientReal', function()
'{
'TakeOfflineToClientReal(2, 1, 'http:\u0f\uespace-collaboratif.intranet....................................................', 1, 101,'1-4e85-bb1c-9c31db..........', '');});
'return false; 

'------------------------------------------------------------------------------------------------------------------------------------------------------------------
donc voila je sais pas comment utiliser ton code car je sais pas esq c un bouton ou autre chose!!!


EDIT : AJout des balises de code !
0
yg_be Messages postés 22916 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 juillet 2024 1 481 > lora012 Messages postés 11 Date d'inscription vendredi 6 avril 2018 Statut Membre Dernière intervention 10 avril 2018
Modifié le 8 avril 2018 à 17:23
tu souhaites bien cliquer automatiquement sur un bouton?
il faudrait que tu nous montres la partie de la page web où le bouton est défini, sinon nous ne pouvons pas t'expliquer comment reconnaître le bouton.
cela devrait commencer par
<button
et se terminer par
</button>
.
0
lora012 Messages postés 11 Date d'inscription vendredi 6 avril 2018 Statut Membre Dernière intervention 10 avril 2018
8 avril 2018 à 17:39
la j'ai pas accès a la page intranet, demain matin je ferai une capture d'écran

tu voit sur le site sharepoint , ya "syncronisation" le but de cette macro qu'elle déclenche automatiquement sur "sycronisation" et que je recupere les donnée sur ordi
0
yg_be Messages postés 22916 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 2 juillet 2024 1 481 > lora012 Messages postés 11 Date d'inscription vendredi 6 avril 2018 Statut Membre Dernière intervention 10 avril 2018
8 avril 2018 à 18:00
plutôt qu'un capture d'écran, partage une partie du texte source de la page.
0
lora012 Messages postés 11 Date d'inscription vendredi 6 avril 2018 Statut Membre Dernière intervention 10 avril 2018
Modifié le 9 avril 2018 à 09:37
bonjour
voila ce que j copié sur la page

<a title=" synchronisée ........" class="ms-promotedActionButton" id="ctl00_ctl74_SyncPromotedAction" style="display: inline-block;" onmouseover="this.firstChild.firstChild.style.left='-197px'; this.firstChild.firstChild.style.top='-102px';" onmouseout="this.firstChild.firstChild.style.left='-200px'; this.firstChild.firstChild.style.top='-66px';" onclick="EnsureScriptFunc('offline.js', 'TakeOfflineToClientReal', function() { TakeOfflineToClientReal(2, 1, 'http:\\collaboratif.intranet................', 1, 101,'70ba3-1091-4edb', '');}); return false;" href="javascript:__doPostBack('ctl00$ctSyncPromotedAction','')">


<span class="s4-clust ms-promotedActionButton-icon" style="width: 16px; height: 16px; overflow: hidden; display: inline-block; position: relative;">

<img style="left: -200px; top: -66px; position: absolute;" alt="" src="/espaces2323/sc/img/mon-v2.png"/>

<span class="ms-promotedActionButton-text">

Texte - Synchroniser


EDIT : Ajout des balises de code. Merci d'y penser dans tes prochains messages !
0