OVH Cloud OVH Cloud

VB.NET Automation

7 réponses
Avatar
Didier
Bonjour

Toujours dans ma découverte laborieuse de word automation !!

j'ai besoin dans un tableau de
- fractionner une cellule en 2 colonnes
- ajuster la 1ere demi-cellule au texte (je sais pas faire )
- ne garder que la bord droit pour la 1ere 1/2 cellule
- ne garder que le bord gauche pour la seconde

pour fractionner j'ai trouve .......cell(x,y).Split(NbColumns:=2)
pour le reste malgré tout mes essais je suis dans la panade.

Merci d'avance
Didier

7 réponses

Avatar
Geo

Bonjour

Toujours dans ma découverte laborieuse de word automation !!

j'ai besoin dans un tableau de
- fractionner une cellule en 2 colonnes
- ajuster la 1ere demi-cellule au texte (je sais pas faire )
- ne garder que la bord droit pour la 1ere 1/2 cellule
- ne garder que le bord gauche pour la seconde

pour fractionner j'ai trouve .......cell(x,y).Split(NbColumns:=2)
pour le reste malgré tout mes essais je suis dans la panade.


pour les bords un exemple incomplet :
with LaCellule
' bord à supprimer
.Borders(wdBorderLeft).LineStyle = wdLineStyleNone
' bord à mettre
With .Borders(wdBorderRight)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
' les cotés horizontaux se nomment :
' wdBorderTop et wdBorderBottom

end width

--
A+

Avatar
Geo

- ajuster la 1ere demi-cellule au texte (je sais pas faire )


Je n'arrive pas à trouver, pourtant c'est si simple avec la souris.


--
A+

Avatar
Geo


- ajuster la 1ere demi-cellule au texte (je sais pas faire )


Je n'arrive pas à trouver, pourtant c'est si simple avec la souris.


Pas bien compliqué mais pas élégant :

MaCellule.Select
Selection.Cells.AutoFit

--
A+


Avatar
Didier
Merci de ta réponse.

Après tentative de mise en oeuvre

Dim cell as Word.Cell = _wa.tables(1).Cell(1,1)
cell.Borders(Word.WdBorderType.wdBorderLeft) = Word.WdLineStyle.wdLineStyleNone

j'obtiens une erreur "L'interface Word.Borders ne peut pas être indexée car elle n'a pas de propriété par défaut."

Que faire ?


Merci d'avance
Didier


PS: j'utilise VB 2005 Express et Word 2000 (9.0.6926 SP3)




pour les bords un exemple incomplet :
with LaCellule
' bord à supprimer
..Borders(wdBorderLeft).LineStyle = wdLineStyleNone
' bord à mettre
With .Borders(wdBorderRight)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
' les cotés horizontaux se nomment :
' wdBorderTop et wdBorderBottom

end width



Avatar
Anacoluthe
Bonjour !

'Didier' nous a écrit ...
j'obtiens une erreur "L'interface Word.Borders ne peut pas être indexée
car elle n'a pas de propriété par défaut."


Il y a erreur de type d'objet sur Cell. Référencez le modèle objet Word
dans VB et revoyez de près votre explorateur d'objets...

Anacoluthe
« C'est encore en méditant l'objet
que le sujet a le plus de chance de s'approfondir. »
- Gaston BACHELARD

Avatar
Didier
Bonjour

Après une longue méditation et beaucoup d'essais infructueux, j'ai enfin trouvé ma réponse

Dim myCell as Word.Cell = _mydoc.tables(1).Cell(1,1)

et la il faut

myCell.Borders.Item(Word.WdBorderType.wdBorderLeft).LineStyle = Word.WdLineStyle.wdLineStyleNone

et non pas

myCell.Borders(Word.WdBorderType.wdBorderLeft) = Word.WdLineStyle.wdLineStyleNone

En espérant que ccela puisse servir à d'autres
Didier

Bonjour !

'Didier' nous a écrit ...
j'obtiens une erreur "L'interface Word.Borders ne peut pas être
indexée car elle n'a pas de propriété par défaut."


Il y a erreur de type d'objet sur Cell. Référencez le modèle objet Word
dans VB et revoyez de près votre explorateur d'objets...

Anacoluthe
« C'est encore en méditant l'objet
que le sujet a le plus de chance de s'approfondir. »
- Gaston BACHELARD



Avatar
Didier
Bonjour

Après une longue méditation et beaucoup d'essais infructueux, j'ai enfin trouvé ma réponse

Dim myCell as Word.Cell = _mydoc.tables(1).Cell(1,1)

et la il faut

myCell.Borders.Item(Word.WdBorderType.wdBorderLeft).LineStyle = Word.WdLineStyle.wdLineStyleNone

et non pas

myCell.Borders(Word.WdBorderType.wdBorderLeft) = Word.WdLineStyle.wdLineStyleNone

En espérant que cela puisse servir à d'autres
Didier

Bonjour !

'Didier' nous a écrit ...
j'obtiens une erreur "L'interface Word.Borders ne peut pas être
indexée car elle n'a pas de propriété par défaut."


Il y a erreur de type d'objet sur Cell. Référencez le modèle objet Word
dans VB et revoyez de près votre explorateur d'objets...

Anacoluthe
« C'est encore en méditant l'objet
que le sujet a le plus de chance de s'approfondir. »
- Gaston BACHELARD