Bonjour,
Je cherche une mthode simple et efficace.
voila le contexte :
Je souhaite que mes clients puissent utiliser Word pour fair des modles de
courriers.
Ensuite, je rcupre un modle et dans un fonction .Net, je fusionne ce
dovument avec mes donnes.
Comment faites-vous ?
Bien sur il existe la mthode dans Word mais c'est pas facile et mes clients
sont un peu "paums".
J'aimerai leurs faciliter le travail. Eux ils font lers modle et moi je
crer les fusions.
Par contre, comment ? Peut-on insrer des "balise", "mots cls" multiples
dans un document Word et ensuite que je puisse reconnaitre dans mon prog
.net ?
Bref, je cherche une mthode dans ce genre.
ps: merci de prciser quel version de Word : 2003 ou +
Merci
Olivier
Bonjour,
Je cherche une mthode simple et efficace.
voila le contexte :
Je souhaite que mes clients puissent utiliser Word pour fair des modles de
courriers.
Ensuite, je rcupre un modle et dans un fonction .Net, je fusionne ce
dovument avec mes donnes.
Comment faites-vous ?
Bien sur il existe la mthode dans Word mais c'est pas facile et mes clients
sont un peu "paums".
J'aimerai leurs faciliter le travail. Eux ils font lers modle et moi je
crer les fusions.
Par contre, comment ? Peut-on insrer des "balise", "mots cls" multiples
dans un document Word et ensuite que je puisse reconnaitre dans mon prog
.net ?
Bref, je cherche une mthode dans ce genre.
ps: merci de prciser quel version de Word : 2003 ou +
Merci
Olivier
Bonjour,
Je cherche une mthode simple et efficace.
voila le contexte :
Je souhaite que mes clients puissent utiliser Word pour fair des modles de
courriers.
Ensuite, je rcupre un modle et dans un fonction .Net, je fusionne ce
dovument avec mes donnes.
Comment faites-vous ?
Bien sur il existe la mthode dans Word mais c'est pas facile et mes clients
sont un peu "paums".
J'aimerai leurs faciliter le travail. Eux ils font lers modle et moi je
crer les fusions.
Par contre, comment ? Peut-on insrer des "balise", "mots cls" multiples
dans un document Word et ensuite que je puisse reconnaitre dans mon prog
.net ?
Bref, je cherche une mthode dans ce genre.
ps: merci de prciser quel version de Word : 2003 ou +
Merci
Olivier
Bonjour,
En effet cela est possible, moi je passe par l'automation Word (ou
pilotage
word).
Suivant la version d'office que tu utilises, il te faudra générer les PIA
(Primary Interop Assembly) ou les télécharger chez microsoft.
A partir d'office XP ils sont dispo chez microsoft (il me semble que pour
les version antérieures, c'est VS qui les génèrent).
Pour office XP (2002) -
http://support.microsoft.com/default.aspx?kbid28912
Tu peux également visiter le site http://www.developpez.com qui contient
pas
mal d'infos à ce sujet. et plus particulièrement
http://morpheus.developpez.com/vsto2/
Mon expérience à ce sujet est que c'est réalisable, mais qu'il faut bien
tenir compte du fait suivant : en manipulant les objets applicatifs
office,
tu instancies réellement l'application (Word en ce qui te concerne) Dès
lors,
en cas de throw d'exception , IL EST IMPERATIF de fermer ton instance
d'application (également lorsque tu as fini ton traitement). Idealement,
utilise la fonctionnalité Try-catch-Finaly ou ce dernier s'exécutera qu'il
y
ai ou non exception (pour fermer Word).
C'est le seul truc un peu compliqué à penser
J'espère que ca taidera,
@+
"[[ Olivier ]]" a écrit :Bonjour,
Je cherche une mthode simple et efficace.
voila le contexte :
Je souhaite que mes clients puissent utiliser Word pour fair des modles
de
courriers.
Ensuite, je rcupre un modle et dans un fonction .Net, je fusionne ce
dovument avec mes donnes.
Comment faites-vous ?
Bien sur il existe la mthode dans Word mais c'est pas facile et mes
clients
sont un peu "paums".
J'aimerai leurs faciliter le travail. Eux ils font lers modle et moi je
crer les fusions.
Par contre, comment ? Peut-on insrer des "balise", "mots cls" multiples
dans un document Word et ensuite que je puisse reconnaitre dans mon prog
.net ?
Bref, je cherche une mthode dans ce genre.
ps: merci de prciser quel version de Word : 2003 ou +
Merci
Olivier
Bonjour,
En effet cela est possible, moi je passe par l'automation Word (ou
pilotage
word).
Suivant la version d'office que tu utilises, il te faudra générer les PIA
(Primary Interop Assembly) ou les télécharger chez microsoft.
A partir d'office XP ils sont dispo chez microsoft (il me semble que pour
les version antérieures, c'est VS qui les génèrent).
Pour office XP (2002) -
http://support.microsoft.com/default.aspx?kbid28912
Tu peux également visiter le site http://www.developpez.com qui contient
pas
mal d'infos à ce sujet. et plus particulièrement
http://morpheus.developpez.com/vsto2/
Mon expérience à ce sujet est que c'est réalisable, mais qu'il faut bien
tenir compte du fait suivant : en manipulant les objets applicatifs
office,
tu instancies réellement l'application (Word en ce qui te concerne) Dès
lors,
en cas de throw d'exception , IL EST IMPERATIF de fermer ton instance
d'application (également lorsque tu as fini ton traitement). Idealement,
utilise la fonctionnalité Try-catch-Finaly ou ce dernier s'exécutera qu'il
y
ai ou non exception (pour fermer Word).
C'est le seul truc un peu compliqué à penser
J'espère que ca taidera,
@+
"[[ Olivier ]]" a écrit :
Bonjour,
Je cherche une mthode simple et efficace.
voila le contexte :
Je souhaite que mes clients puissent utiliser Word pour fair des modles
de
courriers.
Ensuite, je rcupre un modle et dans un fonction .Net, je fusionne ce
dovument avec mes donnes.
Comment faites-vous ?
Bien sur il existe la mthode dans Word mais c'est pas facile et mes
clients
sont un peu "paums".
J'aimerai leurs faciliter le travail. Eux ils font lers modle et moi je
crer les fusions.
Par contre, comment ? Peut-on insrer des "balise", "mots cls" multiples
dans un document Word et ensuite que je puisse reconnaitre dans mon prog
.net ?
Bref, je cherche une mthode dans ce genre.
ps: merci de prciser quel version de Word : 2003 ou +
Merci
Olivier
Bonjour,
En effet cela est possible, moi je passe par l'automation Word (ou
pilotage
word).
Suivant la version d'office que tu utilises, il te faudra générer les PIA
(Primary Interop Assembly) ou les télécharger chez microsoft.
A partir d'office XP ils sont dispo chez microsoft (il me semble que pour
les version antérieures, c'est VS qui les génèrent).
Pour office XP (2002) -
http://support.microsoft.com/default.aspx?kbid28912
Tu peux également visiter le site http://www.developpez.com qui contient
pas
mal d'infos à ce sujet. et plus particulièrement
http://morpheus.developpez.com/vsto2/
Mon expérience à ce sujet est que c'est réalisable, mais qu'il faut bien
tenir compte du fait suivant : en manipulant les objets applicatifs
office,
tu instancies réellement l'application (Word en ce qui te concerne) Dès
lors,
en cas de throw d'exception , IL EST IMPERATIF de fermer ton instance
d'application (également lorsque tu as fini ton traitement). Idealement,
utilise la fonctionnalité Try-catch-Finaly ou ce dernier s'exécutera qu'il
y
ai ou non exception (pour fermer Word).
C'est le seul truc un peu compliqué à penser
J'espère que ca taidera,
@+
"[[ Olivier ]]" a écrit :Bonjour,
Je cherche une mthode simple et efficace.
voila le contexte :
Je souhaite que mes clients puissent utiliser Word pour fair des modles
de
courriers.
Ensuite, je rcupre un modle et dans un fonction .Net, je fusionne ce
dovument avec mes donnes.
Comment faites-vous ?
Bien sur il existe la mthode dans Word mais c'est pas facile et mes
clients
sont un peu "paums".
J'aimerai leurs faciliter le travail. Eux ils font lers modle et moi je
crer les fusions.
Par contre, comment ? Peut-on insrer des "balise", "mots cls" multiples
dans un document Word et ensuite que je puisse reconnaitre dans mon prog
.net ?
Bref, je cherche une mthode dans ce genre.
ps: merci de prciser quel version de Word : 2003 ou +
Merci
Olivier
Merci mais le problème est :
- je ne maitrise pas forcément la vesion de word sur le poste client.
bon a la limite je peut les forcer a changer.....
- le syntaxe du code .net pour piloter word a l'air de changer en fonction
des versions....
je vais pas faire autant de fonction qu'il y a de vesion, non ?
merci
olivier
Merci mais le problème est :
- je ne maitrise pas forcément la vesion de word sur le poste client.
bon a la limite je peut les forcer a changer.....
- le syntaxe du code .net pour piloter word a l'air de changer en fonction
des versions....
je vais pas faire autant de fonction qu'il y a de vesion, non ?
merci
olivier
Merci mais le problème est :
- je ne maitrise pas forcément la vesion de word sur le poste client.
bon a la limite je peut les forcer a changer.....
- le syntaxe du code .net pour piloter word a l'air de changer en fonction
des versions....
je vais pas faire autant de fonction qu'il y a de vesion, non ?
merci
olivier
Bonjour,
Ok, Il te reste alors plusieurs autres possibilités :
Passer par un fichier RTF (qui sera lisible sous n'importe quelle version
de
Word),
Du coup les modèles de doc seront aussi en RTF (sans quoi tu devras
déterminer avec ton client les informations à insérer dynamiquement et
déterminer des mots clés permettant de positionner ces informations.
Exemple
%clientNom%, %clientAdresse%,...) Ces mots clés te permettront par des
maChaineString.Replace ("%clientNom%","toto) si ton client se nomme toto.
Attention : NE PAS UTILISER DE CARACTERES ACCENTUES POUR CES BALISES (lol)
Ou, utiliser un composant externe propriétaire (un controle développé par
une société tierce) te permettant de manipuler des doc Word (par exemple)
sans disposer de la version sur le poste. Ce qui te permet de rester
indépendant de la version installée...
MAIS ces controles sont généralement payants (oups), donc surcout...
Inconvénient : tu deviens dépendant d'une société tierce...
Ou, tu automationnes Word, sans quoi il faut varier les méthodes utilisées
en fonction des versions succeptibles d'être installées chez le client
(modérément car les méthodes de base - instancier, ouvrir un doc, insérer
du
texte,... sont +/- identiques pour toutes les version).
Dans ce cas, informe toi sur le design pattern strategie et fabrique
simple.
ce qui te permettra de garder un code propre...
voilou,
"[[ Olivier ]]" a écrit :Merci mais le problème est :
- je ne maitrise pas forcément la vesion de word sur le poste client.
bon a la limite je peut les forcer a changer.....
- le syntaxe du code .net pour piloter word a l'air de changer en
fonction
des versions....
je vais pas faire autant de fonction qu'il y a de vesion, non ?
merci
olivier
Bonjour,
Ok, Il te reste alors plusieurs autres possibilités :
Passer par un fichier RTF (qui sera lisible sous n'importe quelle version
de
Word),
Du coup les modèles de doc seront aussi en RTF (sans quoi tu devras
déterminer avec ton client les informations à insérer dynamiquement et
déterminer des mots clés permettant de positionner ces informations.
Exemple
%clientNom%, %clientAdresse%,...) Ces mots clés te permettront par des
maChaineString.Replace ("%clientNom%","toto) si ton client se nomme toto.
Attention : NE PAS UTILISER DE CARACTERES ACCENTUES POUR CES BALISES (lol)
Ou, utiliser un composant externe propriétaire (un controle développé par
une société tierce) te permettant de manipuler des doc Word (par exemple)
sans disposer de la version sur le poste. Ce qui te permet de rester
indépendant de la version installée...
MAIS ces controles sont généralement payants (oups), donc surcout...
Inconvénient : tu deviens dépendant d'une société tierce...
Ou, tu automationnes Word, sans quoi il faut varier les méthodes utilisées
en fonction des versions succeptibles d'être installées chez le client
(modérément car les méthodes de base - instancier, ouvrir un doc, insérer
du
texte,... sont +/- identiques pour toutes les version).
Dans ce cas, informe toi sur le design pattern strategie et fabrique
simple.
ce qui te permettra de garder un code propre...
voilou,
"[[ Olivier ]]" a écrit :
Merci mais le problème est :
- je ne maitrise pas forcément la vesion de word sur le poste client.
bon a la limite je peut les forcer a changer.....
- le syntaxe du code .net pour piloter word a l'air de changer en
fonction
des versions....
je vais pas faire autant de fonction qu'il y a de vesion, non ?
merci
olivier
Bonjour,
Ok, Il te reste alors plusieurs autres possibilités :
Passer par un fichier RTF (qui sera lisible sous n'importe quelle version
de
Word),
Du coup les modèles de doc seront aussi en RTF (sans quoi tu devras
déterminer avec ton client les informations à insérer dynamiquement et
déterminer des mots clés permettant de positionner ces informations.
Exemple
%clientNom%, %clientAdresse%,...) Ces mots clés te permettront par des
maChaineString.Replace ("%clientNom%","toto) si ton client se nomme toto.
Attention : NE PAS UTILISER DE CARACTERES ACCENTUES POUR CES BALISES (lol)
Ou, utiliser un composant externe propriétaire (un controle développé par
une société tierce) te permettant de manipuler des doc Word (par exemple)
sans disposer de la version sur le poste. Ce qui te permet de rester
indépendant de la version installée...
MAIS ces controles sont généralement payants (oups), donc surcout...
Inconvénient : tu deviens dépendant d'une société tierce...
Ou, tu automationnes Word, sans quoi il faut varier les méthodes utilisées
en fonction des versions succeptibles d'être installées chez le client
(modérément car les méthodes de base - instancier, ouvrir un doc, insérer
du
texte,... sont +/- identiques pour toutes les version).
Dans ce cas, informe toi sur le design pattern strategie et fabrique
simple.
ce qui te permettra de garder un code propre...
voilou,
"[[ Olivier ]]" a écrit :Merci mais le problème est :
- je ne maitrise pas forcément la vesion de word sur le poste client.
bon a la limite je peut les forcer a changer.....
- le syntaxe du code .net pour piloter word a l'air de changer en
fonction
des versions....
je vais pas faire autant de fonction qu'il y a de vesion, non ?
merci
olivier
Bonjour,
Ok, Il te reste alors plusieurs autres possibilités :
Passer par un fichier RTF (qui sera lisible sous n'importe quelle version
de
Word),
Du coup les modèles de doc seront aussi en RTF (sans quoi tu devras
déterminer avec ton client les informations à insérer dynamiquement et
déterminer des mots clés permettant de positionner ces informations.
Exemple
%clientNom%, %clientAdresse%,...) Ces mots clés te permettront par des
maChaineString.Replace ("%clientNom%","toto) si ton client se nomme toto.
Attention : NE PAS UTILISER DE CARACTERES ACCENTUES POUR CES BALISES (lol)
Ou, utiliser un composant externe propriétaire (un controle développé par
une société tierce) te permettant de manipuler des doc Word (par exemple)
sans disposer de la version sur le poste. Ce qui te permet de rester
indépendant de la version installée...
MAIS ces controles sont généralement payants (oups), donc surcout...
Inconvénient : tu deviens dépendant d'une société tierce...
Ou, tu automationnes Word, sans quoi il faut varier les méthodes utilisées
en fonction des versions succeptibles d'être installées chez le client
(modérément car les méthodes de base - instancier, ouvrir un doc, insérer
du
texte,... sont +/- identiques pour toutes les version).
Dans ce cas, informe toi sur le design pattern strategie et fabrique
simple.
ce qui te permettra de garder un code propre...
voilou,
"[[ Olivier ]]" a écrit :Merci mais le problème est :
- je ne maitrise pas forcément la vesion de word sur le poste client.
bon a la limite je peut les forcer a changer.....
- le syntaxe du code .net pour piloter word a l'air de changer en
fonction
des versions....
je vais pas faire autant de fonction qu'il y a de vesion, non ?
merci
olivier
Bonjour,
Ok, Il te reste alors plusieurs autres possibilités :
Passer par un fichier RTF (qui sera lisible sous n'importe quelle version
de
Word),
Du coup les modèles de doc seront aussi en RTF (sans quoi tu devras
déterminer avec ton client les informations à insérer dynamiquement et
déterminer des mots clés permettant de positionner ces informations.
Exemple
%clientNom%, %clientAdresse%,...) Ces mots clés te permettront par des
maChaineString.Replace ("%clientNom%","toto) si ton client se nomme toto.
Attention : NE PAS UTILISER DE CARACTERES ACCENTUES POUR CES BALISES (lol)
Ou, utiliser un composant externe propriétaire (un controle développé par
une société tierce) te permettant de manipuler des doc Word (par exemple)
sans disposer de la version sur le poste. Ce qui te permet de rester
indépendant de la version installée...
MAIS ces controles sont généralement payants (oups), donc surcout...
Inconvénient : tu deviens dépendant d'une société tierce...
Ou, tu automationnes Word, sans quoi il faut varier les méthodes utilisées
en fonction des versions succeptibles d'être installées chez le client
(modérément car les méthodes de base - instancier, ouvrir un doc, insérer
du
texte,... sont +/- identiques pour toutes les version).
Dans ce cas, informe toi sur le design pattern strategie et fabrique
simple.
ce qui te permettra de garder un code propre...
voilou,
"[[ Olivier ]]" a écrit :
Merci mais le problème est :
- je ne maitrise pas forcément la vesion de word sur le poste client.
bon a la limite je peut les forcer a changer.....
- le syntaxe du code .net pour piloter word a l'air de changer en
fonction
des versions....
je vais pas faire autant de fonction qu'il y a de vesion, non ?
merci
olivier
Bonjour,
Ok, Il te reste alors plusieurs autres possibilités :
Passer par un fichier RTF (qui sera lisible sous n'importe quelle version
de
Word),
Du coup les modèles de doc seront aussi en RTF (sans quoi tu devras
déterminer avec ton client les informations à insérer dynamiquement et
déterminer des mots clés permettant de positionner ces informations.
Exemple
%clientNom%, %clientAdresse%,...) Ces mots clés te permettront par des
maChaineString.Replace ("%clientNom%","toto) si ton client se nomme toto.
Attention : NE PAS UTILISER DE CARACTERES ACCENTUES POUR CES BALISES (lol)
Ou, utiliser un composant externe propriétaire (un controle développé par
une société tierce) te permettant de manipuler des doc Word (par exemple)
sans disposer de la version sur le poste. Ce qui te permet de rester
indépendant de la version installée...
MAIS ces controles sont généralement payants (oups), donc surcout...
Inconvénient : tu deviens dépendant d'une société tierce...
Ou, tu automationnes Word, sans quoi il faut varier les méthodes utilisées
en fonction des versions succeptibles d'être installées chez le client
(modérément car les méthodes de base - instancier, ouvrir un doc, insérer
du
texte,... sont +/- identiques pour toutes les version).
Dans ce cas, informe toi sur le design pattern strategie et fabrique
simple.
ce qui te permettra de garder un code propre...
voilou,
"[[ Olivier ]]" a écrit :Merci mais le problème est :
- je ne maitrise pas forcément la vesion de word sur le poste client.
bon a la limite je peut les forcer a changer.....
- le syntaxe du code .net pour piloter word a l'air de changer en
fonction
des versions....
je vais pas faire autant de fonction qu'il y a de vesion, non ?
merci
olivier