|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
Bonjour à tous, j'utilise actuellement Word 2007.
Je souhaite en fait créer un modèle contenant des champs nommés que je pourrais ensuite récupérer dans mon programme, analyser et remplir à partir d'une base de données. Apparement je ne peut pas créer de champ texte simple, c'est obligatoire que ce soit une adresse, ou un nom, etc... Suis-je donc obliger d'utiliser les champs "spécifiques" de Word ? Est-il possible de nommer un champ Word ? Est-il possible de nommer un groupe de champs ? Si oui comment ? Quels objets du modèle Word porte les collections de groupe de champs ? Quels objets du modèle Word porte les collections champs ? Merci. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
__________________
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 ! |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
Bonjour,
Tout d'abord merci pour la lecture. Je vais tenter de me débrouiller avec ceci. |
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
Ta demande est un peu nébuleuse.
Tu vas utiliser un document, récupérer les données, les mettre dans une DB et ensuite les ressortir sur 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 ! |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
Ma seule question sera : Peut-on nommer un groupe de champs ?
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
Je te prends au mot !
Non. Mais les champs ne vont pas t'aider en Word pour ce que tu veux faire. Un champ est utilisé pour un renvoi, pour une référence (table des matières, index, vers un signet,...), pour une opération, pour identifer du texte, ...
__________________
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 ! |
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
Très bien merci.
Mon autre seule question sera : Est-il possible d'identifier une "association/bloc" de champs qui sont sur une même page ? Ex : 2 formulaire différents sur une même page.
|
|
|
00
|
|
|
#8 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
Quel intérêt ?
On fait l'extraction des données par Code :
ActiveDocument.FormFields("MontextBox").Result
__________________
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 ! |
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
En fait je ne vais pas coder en VB, mais cela ne change rien.
Je souhaiterais qu'il soit grouper car je pourrais savoir à quel moment je dois remplir ce "groupe de champ". Plus précisemment, je parcourt ma table, selon si je suis sur une ligne paire ou impaire, je remplis tel ou tel groupe de champs. Je ne sais pas si j'ai été très clair, mais je souhaiterais rassembler des champs et pouvoir identifier ces groupes de champs. Merci. |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
Alors, il faut travailler en section.
On peut verouiller une section. Mais si ce n'est pas pour coder en VBA, ça va être plus compliqué !
__________________
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 ! |
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
Qu'est-ce une section ? Par quoi est-ce symbolisé ?
Une position de départ et une position finale ? Peut-on créer ceci à la main dans Word ? Peut-on la nommer ? Merci. Je vien de regarder la msdn sur les sections, je ne pense pas que cela puisse convenir. Il me faut quelque chose qui existe déjà dans le .doc(x) avant que je ne l'ouvre avec mon programme. Une fois ouvert, il faut que j'arrive à retrouver cette objet et à l'identifier (Par un nom ce serait le mieux). Je crois que j'ai trouvé quelque chose d'intérressant, je peux mettre mes champs dans une QuickPart et je peux nommer cette dernière. Maintenant le problème est : Est-ce que je peux retrouver une QuickPart par son nom ? (Classe QuickPart n'existe pas) Puis-je retrouver ce qu'il y a dans cette QuickPart ? Merci. |
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
Apparement je ne peux pas retrouver des champs contenus dans une QuickPart.
Par contre si mes champs sont contenus dans un Tableau et que je sais retrouver mon tableau (nom ou ID), je serais retrouver ce qu'il y a dedans. J'ai trouvé une classe Table mais apparement cela à un lien avec l'html. Est-ce bien la bonne classe pour récupérer un Tableau ? Merci. |
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
Il n'y a pas de classe pour un tableau et on n peut nommer un tableau.
__________________
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 ! |
|
|
00
|
|
|
#14 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
Bonjour,
Les tableaux sont bien des objets ? Ce n'est pas possible autrement.. |
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
Vu sous cet angle, oui, ce sont des objet, mais on nepeut les nommer.
On accède aux tableaux par leur index.
__________________
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 ! |
|
|
00
|
|
|
#16 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
Ok et le document à une méthode du style get_tableau(index) qui renvoie un tableau selon l'index qu'on lui donne ?
Autre question : La classe Document est abstraite, comment fait-on pour récupérer le .doc actif et le stocker dans un objet ? Obligé d'avoir un pointeur ? Ou une autre classe porte cette objet ? Merci. Pour la classe CDocument c'est réglée, en fait j'ai inclus le modèle Objet d'Outlook, d'Excel et de Word, ils devait donc déjà exister une classe CDocument, il l'a donc appelé CDocument0. |
|
|
00
|
|
|
#17 | ||||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
Pour les documents, c'est très simple.
Un document fait partie de la collection documents. Code :
Code :
__________________
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 ! |
||||
|
|
00
|
|
|
#18 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
Merci.
Tout est OK et fonctionne correctement. Exception, la méthode put_data de la classe Field ne fonctionne pas, il me dit que l'objet n'a pas de Data associée. D'après la msdn seul les champs Addin ont des Datas. Comment faire pour écrire dans un champ de type wdFieldFormTextInput ? |
|
|
00
|
|
|
#19 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 364 ![]() |
En VBA,
Pour écrire des données dans un textbox on utilise FormFields. Pour en extraire les données, c'est
__________________
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 ! |
|
|
00
|
|
|
#20 |
|
Membre régulier
![]() Inscription : avril 2008 Messages : 235 ![]() |
J'arrive à écrire dans un champ de type TEXT INPUT.
Pour ce faire je récupère le Range associé à l'objet Field. J'utilise la méthode put_text de la classe Range, et lorsque j'affiche mon document, les champs sont remplis. Le dernier problème que j'ai est le suivant : Je n'arrive pas à récupérer le nom ou l'ID d'un objet Field, et lorsque je récupère l'ID du Range qui est associé à ce Field, il me renvoie "". Comment récupérer le nom d'un Field ? Merci. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com