[VB /VBA /VBS] Remplir un formulaire HTML a partir d'un word

Remplir un formulaire HTML a partir d'un word [VB /VBA /VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 04-10-2017 à 16:53:33    

Bonjour,

 

J'essaie de faire une macro dans un fichier word, qui reprend les infos de different controle de contenu pour les mettre dans un formulaire HTML.
Mais j'ai une erreur qui pop quand je lance la macro et je ne comprend pas pourquoi apres avoir fait different site, google, sacrifice etc je viens vers vous.
Donc le code en question :

Code :
  1. Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  2. Sub test()
  3. Dim cc As ContentControl
  4. Dim UnChamp As Object
  5. Dim IE As Object
  6. Set IE = CreateObject("InternetExplorer.Application" )
  7. IE.Visible = True
  8. IE.Navigate "http://jtrac:8080/jtrac/app/xxxxxx"
  9. 'On Error Resume Next
  10. Sleep 2000
  11. ' Iterate through all the content controls in the document
  12. ' and select those having the specified tag value.
  13. If ActiveDocument.ContentControls.Count <> 0 Then
  14.     For Each cc In ActiveDocument.ContentControls
  15.         Select Case cc.Tag
  16.        
  17.         Case "texte4" 'Pilote de l'instruction
  18.             Set UnChamp = IE.Document.getElementByname("summary" ).Item
  19.             UnChamp.Value = cc.Range
  20.         Case "NumLot" 'numero de lot
  21.             Set UnChamp = IE.Document.getElementByname("fields:fields:6:field:field" ).Item
  22.             UnChamp.Value = cc.Range
  23.         Case "Texte8" 'Charge estime
  24.             Set UnChamp = IE.Document.getElementByname("fields:fields:5:field:field" ).Item
  25.             UnChamp.Value = cc.Range
  26.         Case "Texte7" 'Materiel
  27.             Set UnChamp = IE.Document.getElementByname("fields:fields:2:field:field" ).Item
  28.             UnChamp.Value = cc.Range
  29.      
  30.         Case "NumCADFCP " 'CAD/DDR
  31.        
  32.         Case "NumFPP" 'Numero FPP
  33.        
  34.         Case "Texte18" 'Date mise a dispo donnees d'entrees
  35.        
  36.         Case "DateBesoinClient" 'Date de besoin
  37.        
  38.         Case "engagementBE" 'Date engagement BE
  39.         End Select
  40.     Next
  41. End If
  42. End Sub
 

J'ai recupere les noms des champs dans le code HTML de la page.
La macro plante ici : IE.Document.getElementByname("summary" ).Item

 

Avec ca en message d'erreur :
"erreur 80010108 erreur automation l'objet invoque s'est deconnecte de ses clients"

 

Ma page IE est toujours ouverte, je ne ferme rien, le word est ouvert.
Si vous avez des pistes ou des solutions je suis a votre ecoute.

 

Bonne journee.

 

Edit: J'ai fait une petite modif dans mon code pour essayer de trouver le probleme.

 
Code :
  1. ...
  2. Dim IE As Object
  3. Dim IEDoc As HTMLDocument
  4. Dim InputGoogleZoneTexte As HTMLInputElement
  5. ...
  6. Set IEDoc = IE.Document
  7. ...


Et l'erreur est sur le document : "Set IEDoc = IE.Document"

 

EDIT 2 : Si je met google en URL ca marche, donc ca doit etre un probleme avec mon intranet


Message édité par lalan28200 le 04-10-2017 à 18:02:40
Reply

Marsh Posté le 04-10-2017 à 16:53:33   

Reply

Marsh Posté le 04-10-2017 à 18:04:57    

 
          Bonjour,
 
          en informatique comme en Français la moindre faute d'orthographe est fatale ‼
 
          getElementByname n'existant pas d'où l'erreur …

Message cité 1 fois
Message édité par Marc L le 04-10-2017 à 18:06:52
Reply

Marsh Posté le 04-10-2017 à 18:09:53    

Marc L a écrit :

 
          Bonjour,
 
          en informatique comme en Français la moindre faute d'orthographe est fatale ‼
 
          getElementByname n'existant pas d'où l'erreur …


Bonjour Marc,
 
Merci je viens de corriger.

Reply

Marsh Posté le 05-10-2017 à 10:05:32    

Je m'auto-repond
J'ai remplace Dim IE As Object par Dim IE As New InternetExplorerMedium.
Maintenant tout marche.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed