OVH Cloud OVH Cloud

Pb Automation Word

3 réponses
Avatar
Gérard
Bonsoir,

J'ai réalisé une application sous Access97 qui utilise Word pour certains
états.

Curieusement une commande envoyée par Access à Word pose un problème (Merge,
dans l'aménagement d'un tableau). Cela a déjà fonctionné mais génère
aujourd'hui un problème sur un micro et pas sur d'autres.

Y-a-t-il une explication et surtout une solution?

Merci pour votre aide.

Gérard

3 réponses

Avatar
3stone
Salut,

"Gérard"
| J'ai réalisé une application sous Access97 qui utilise Word pour certains
| états.
|
| Curieusement une commande envoyée par Access à Word pose un problème (Merge,
| dans l'aménagement d'un tableau). Cela a déjà fonctionné mais génère
| aujourd'hui un problème sur un micro et pas sur d'autres.
|
| Y-a-t-il une explication et surtout une solution?


Tu ne dis pas comment tu fais !

Regarde tes références, au hasard...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Gérard
Bonsoir,

Je te remercie de ta réponse mais je viens juste de trouver la solution. Je
pense.

Disposant de plusieurs versions d'Access, j'ai testé ma procédure sur une
version 2003 (elle est développée sous 97) et j'ai pu reproduire l'anomalie.
Le problème ne venait pas de Merge mais de la fonction Collapse juste avant
(commandes Word); pas de problème au niveau des références.

Pour ton information, je construis une lettre dans Word à partir d'Access en
déclarant Word comme objet. Word reste invisible pour l'utilisateur.

Word étant ouvert et un nouveau document créé, je construis ma lettre en
envoyant du texte (corps de ma lettre) et en construisant des tableaux pour
la présentation de certaines données.

Dans ma procédure, après avoir envoyé le corps de la lettre je construis un
tableau. Voulant jouer la sécurité, j'ai mis un ligne contenant la commande
Collapse pensant positionner à coup sûr le curseur sur la première cellule
de mon tableau. Cela n'a pas eu le résultat attendu car le curseur s'est
positionné en début de lettre et la fonction Merge a échouée de ce fait, la
lettre avec.

Curieusement, les conséquences ne sont pas identiques en fonction des
micros.

Voici les lignes en cause, tu noteras la ligne neutralisée:

oApp.ActiveDocument.Tables.Add Range:=oApp.Selection.Range,
NumRows:=3, NumColumns:=3
oApp.Selection.Tables(1).Columns(1).SetWidth ColumnWidth:0,
RulerStyle:=0
oApp.Selection.Tables(1).Columns(2).SetWidth ColumnWidth:5,
RulerStyle:=0
oApp.Selection.Tables(1).Columns(3).SetWidth ColumnWidth:0,
RulerStyle:=0
' oApp.Selection.Collapse Direction:=1
oApp.Selection.MoveDown Unit:=5, Count:=2, Extend:=1
oApp.Selection.cells.Merge
oApp.Selection.MoveRight Unit:=1, Count:=2
oApp.Selection.MoveDown Unit:=5, Count:=1, Extend:=1
oApp.Selection.cells.Merge
oApp.Selection.MoveRight Unit:
oApp.Selection.MoveRight Unit:

Je te dispense des lignes de déclaration (oApp = Word) et des lignes
suivantes. Je ne t'apprendrai rien, le pro c'est toi.

Cela semble maintenant fonctionner indifféremment sur les deux versions 97
et 2003. Demain mon utilisateur testera la correction.

Merci de t'être intéressé à mon problème.

Gérard
PS : Je pourrai mettre un "With oApp" mais bon...


"3stone" a écrit dans le message de news:

Salut,

"Gérard"
| J'ai réalisé une application sous Access97 qui utilise Word pour
certains
| états.
|
| Curieusement une commande envoyée par Access à Word pose un problème
(Merge,
| dans l'aménagement d'un tableau). Cela a déjà fonctionné mais génère
| aujourd'hui un problème sur un micro et pas sur d'autres.
|
| Y-a-t-il une explication et surtout une solution?


Tu ne dis pas comment tu fais !

Regarde tes références, au hasard...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/



Avatar
Gérard
Bonsoir,

Je confirme c'était bien ça. La commande marche à nouveau sur le poste en
anomalie.

Gérard

"Gérard" a écrit dans le message de news:

Bonsoir,

Je te remercie de ta réponse mais je viens juste de trouver la solution.
Je pense.

Disposant de plusieurs versions d'Access, j'ai testé ma procédure sur une
version 2003 (elle est développée sous 97) et j'ai pu reproduire
l'anomalie.
Le problème ne venait pas de Merge mais de la fonction Collapse juste
avant (commandes Word); pas de problème au niveau des références.

Pour ton information, je construis une lettre dans Word à partir d'Access
en déclarant Word comme objet. Word reste invisible pour l'utilisateur.

Word étant ouvert et un nouveau document créé, je construis ma lettre en
envoyant du texte (corps de ma lettre) et en construisant des tableaux
pour la présentation de certaines données.

Dans ma procédure, après avoir envoyé le corps de la lettre je construis
un tableau. Voulant jouer la sécurité, j'ai mis un ligne contenant la
commande Collapse pensant positionner à coup sûr le curseur sur la
première cellule de mon tableau. Cela n'a pas eu le résultat attendu car
le curseur s'est positionné en début de lettre et la fonction Merge a
échouée de ce fait, la lettre avec.

Curieusement, les conséquences ne sont pas identiques en fonction des
micros.

Voici les lignes en cause, tu noteras la ligne neutralisée:

oApp.ActiveDocument.Tables.Add Range:=oApp.Selection.Range,
NumRows:=3, NumColumns:=3
oApp.Selection.Tables(1).Columns(1).SetWidth ColumnWidth:0,
RulerStyle:=0
oApp.Selection.Tables(1).Columns(2).SetWidth ColumnWidth:5,
RulerStyle:=0
oApp.Selection.Tables(1).Columns(3).SetWidth ColumnWidth:0,
RulerStyle:=0
' oApp.Selection.Collapse Direction:=1
oApp.Selection.MoveDown Unit:=5, Count:=2, Extend:=1
oApp.Selection.cells.Merge
oApp.Selection.MoveRight Unit:=1, Count:=2
oApp.Selection.MoveDown Unit:=5, Count:=1, Extend:=1
oApp.Selection.cells.Merge
oApp.Selection.MoveRight Unit:
oApp.Selection.MoveRight Unit:

Je te dispense des lignes de déclaration (oApp = Word) et des lignes
suivantes. Je ne t'apprendrai rien, le pro c'est toi.

Cela semble maintenant fonctionner indifféremment sur les deux versions 97
et 2003. Demain mon utilisateur testera la correction.

Merci de t'être intéressé à mon problème.

Gérard
PS : Je pourrai mettre un "With oApp" mais bon...


"3stone" a écrit dans le message de news:

Salut,

"Gérard"
| J'ai réalisé une application sous Access97 qui utilise Word pour
certains
| états.
|
| Curieusement une commande envoyée par Access à Word pose un problème
(Merge,
| dans l'aménagement d'un tableau). Cela a déjà fonctionné mais génère
| aujourd'hui un problème sur un micro et pas sur d'autres.
|
| Y-a-t-il une explication et surtout une solution?


Tu ne dis pas comment tu fais !

Regarde tes références, au hasard...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/