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

VBA Word Discussion :

charger un document dans une variable


Sujet :

VBA Word

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2005
    Messages : 85
    Par défaut charger un document dans une variable
    Bonjour à tous,

    J'ai plusieurs questions à propos des variables word.

    J'ai essayé d'y insérer le contenu d'un autre document

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Application.Documents.Open ("D:\tmp.rtf")
    Application.Documents.Item(2).Variables("MaVariable") = ActiveDocument.Content
    ActiveDocument.Close
    Mon document est trop gros pour rentrer dans une variable si j'ai bien compris l'erreur :

    Erreur d'execution '5854'

    Paramètre de la chaîne trop long
    J'ai essayé avec un document plus petit.
    J'insère avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selection.InsertAfter (ActiveDocument.Variables("MaVariable"))
    ça marche mais je pers la mise en forme, les tableaux, etc...

    Je voulais savoir si il y avait une autre manière de stocker un document dans une variable avec sa mise en forme, ses tableaux, ses images ...

    Et surtout de pouvoir l'afficher et le masquer comme décrit ici
    http://heureuxoli.developpez.com/off.../variables/#L4

    { DOCVARIABLE "MaVariable" \* MERGEFORMAT }
    Et si possible sauvegarder la valeur de la variable après modifications.

    Je sais j'en demande beaucoup.

    Ps: c'est peut être pas possible.

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Je pense que tu n'es pas sur la bonne voie.
    Les variables sont de types simples alors qu'un document est de type objet.

    dis nous ce que tu veux faire.
    Si c'est ce que je pense, il suffit de stocker dans la variable le chemin du document et ensuite d'utiliser un champ qui va utiliser le chemin de la variable pour afficher le document.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Expert confirmé
    Avatar de Sepia
    Homme Profil pro
    Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Inscrit en
    Octobre 2007
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur du cursus IDE@L - Chef de Projet NCU (digital learning) - Université de Rennes
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2007
    Messages : 3 117
    Par défaut
    Salut,

    Nous n'avons pas assez d'info mais il se peut que les documents maîtres qui référencent des documents esclaves peuvent être aussi une solution. Mais comme le dit Heureux-Oli nous n'avons pas assez d'info.

    @+

  4. #4
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2005
    Messages : 85
    Par défaut
    J'avais pensé utiliser la solution que propose heureux-oli. Mais on me demande de tout fusionner dans un fichier.

    En gros j'ai un fichier, j'y insère le contenu d'un autre que je génère.

    Le but est de pouvoir afficher et masquer les parties rajoutées, et de pouvoir les modifier si besoin est.

    Est ce que je suis assez clair ou il faut que je précise ?

    Encore une fois je ne sais même pas si c'est réalisable en un seul fichier

  5. #5
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Tu vas devoir travailler sur beaucoup de choses.

    Primo, tu devras arriver à un lien de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    { LINK  Word.DocumentMacroEnabled.12 C:\\Temp\\MonDocument.docm }
    Ce qui veut dire que ton champ contenant le chemin devra doubler les "backslash"

    Je ne sais pas ce que tu veux obtenir au final ni de quoi tu pars.

    Il est éventuellement possible de cacher du texte pour l'impression et aussi pour l'affichage avec l'attibut caché de la police de caractère
    Si tu utilises des signet, tu peux rapidement modifier cet attribut.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  6. #6
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2005
    Messages : 85
    Par défaut
    Excusez moi j'ai oublié de vous donner tous les détails.

    Je fais de la génération documentaire. J'ai un template avec une balise. Je génère un fichier contenant les données à extraire. Pour l'instant je fais une recopie de mon template (pour le garder intacte pour les prochaines générations), et j'insère mon fichier généré à la place de la balise.

    Tel que c'est ça fonctionne très bien.

    Mais mon maitre de stage voudrais ne plus avoir qu'un seul fichier. C'est à dire le template qui contiendrait une donnée, affichable ou non, cette donnée contiendrait mon fichier généré (qui serrait supprimé ensuite).

    Donc à la fin on aurait un seul fichier qui servirait de template, et de document final.

    J'avais pensé à ce que me dit Heureux-oli, mais ça me fait avoir deux fichiers.

    Est ce que je suis assez clair ?

Discussions similaires

  1. variable dans une variable document.
    Par yodark dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/01/2008, 14h50
  2. Charger une image dans une variable avec IE7
    Par Loki13 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2007, 15h19
  3. Réponses: 2
    Dernier message: 17/05/2006, 18h34
  4. [Tableaux] Charger le contenu d'une page dans une variable
    Par wishmastah dans le forum Langage
    Réponses: 7
    Dernier message: 15/05/2006, 16h00
  5. [langage] Extraire un block dans une variable multiligne
    Par |DUCATI| DesMo dans le forum Langage
    Réponses: 9
    Dernier message: 11/02/2003, 14h56

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