IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

[VBScript][WORD] Lire un tableau


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par défaut [VBScript][WORD] Lire un tableau
    Bonjour,

    J'ai un problème concernant la lecture d'un tableau sur un fichier Word ayant des cellules de différentes tailles.

    Je m'explique, j'améliore un outil web pour mes chefs projets afin de leur faciliter le boulot concernant la génération de cahier de recette à partir d'une spécification d'un projet et d'un "Template" au format Word(.doc)

    Au lancement de ma page web, l'appli récupère la spécification.doc et enregistre ligne par ligne le sommaire. et j'affiche en javascript mon résultat.
    Ensuite j'ouvre mon Template.doc, et je récupère un tableau qui va me servir de modèle. ensuite je l'affiche la où je veux en javascript sur ma page web.

    sur la validation de ma page je génère mon cahier de recette au format word.

    Mon soucis vient en faite sur la lecture de mon tableau dans le template, voici premièrement le message d'erreur récupérer sur ie :

    "Impossible d'accéder à des colonnes individuelles de cette collection car le tableau possède des cellules de largeur différentes."

    Effectivement mon tableau dans word contient des lignes avec cellules fusionnées et d'autres non.

    Comment détecter sur la ligne du tableau en VBScript des cellules fusionnées?
    Y a-t-il plus facile ?

    Voici le code VBScript de ma page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    sub getTpl()
    	Dim vsPathParam
    	Dim voWrd
    	Dim voDoc
    	Dim vsRes
     
    	vsPathParam="C:\Template.doc"
    	window.status="Ouverture du fichier " & vsPathParam
    	set voWrd=CreateObject("Word.application")
    	set voDoc = voWrd.Documents.Open(vsPathParam)
    	set voTab = voDoc.Tables(4)
    	vsRes = "<table>"
    	for viI=1 to voTab.Rows.Count
    		vsRes = vsRes & "<tr>"
    		for viJ=1 to voTab.Columns.Count
    			vsRes = vsRes & "<td>" & voTab.Columns(viJ).Cells(viI).Range.Text & "</td>"
    		next
    		vsRes = vsRes & "</tr>"
    	next
    	vsRes = vsRes & "</table>"
    	voDoc.close
    	voWrd.quit()
    	window.status="Chargement template terminé"
    	buildTplFromVB(vsRes)
    end Sub
    Merci d'avance pour l'aide charitable

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 79
    Par défaut
    J'ai relu mon code source surtout dans mes boucles FOR et j'ai compris mon erreur. J'effectuais une boucle sur chaque ligne du tableau et pour chaque ligne je bouclais sur le nombre de colonne de mon tableau et non ma ligne.

    pour ceux que ca interesse, voici la correction du code ci-dessus dans la boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For viI = 1 To voTab.Rows.Count
            vsRes = vsRes & "<tr>"
            For viJ = 1 To voTab.Rows(viI).Cells.Count
                vsRes = vsRes & "<td>" & voTab.Cell(viI, viJ).Range.Text & "</td>"
            Next
            vsRes = vsRes & "</tr>"
        Next

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2007] inserer un tableau dans une cellule en vbscript word
    Par battit64 dans le forum VBA Word
    Réponses: 5
    Dernier message: 14/06/2012, 18h19
  2. Lire un tableau php
    Par hunzi dans le forum XMLRAD
    Réponses: 1
    Dernier message: 26/10/2006, 09h39
  3. Réponses: 9
    Dernier message: 02/08/2006, 11h31
  4. [Tableaux] lire un tableau de requete
    Par 18Marie dans le forum Langage
    Réponses: 2
    Dernier message: 22/06/2006, 21h00
  5. [VBA][WORD]Identifier un tableau dans un document
    Par mister3957 dans le forum VBA Word
    Réponses: 15
    Dernier message: 10/01/2006, 13h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo