[VBA-Word]Propriétés zone de texte

Statut
N'est pas ouverte pour d'autres réponses.

AssiuM

Fan
Bonjour, je cherche en vain le moyen de passer d'une zone de texte à une autre en VBA. En effet, pour réaliser un certain programme, je dois placer du texte à des endroits très précis et c'est la seule solution possible.

Pour réussir la manoeuvre, j'ai tenté de faire une macro dans laquelle je passe de zones de texte en zones de textes, mais ça n'a pas marché : impossible de sélectionner autre chose que ce qui est déjà selectionné...

Est-ce que quelqu'un sait si c'est faisable, et si pas, existe-t-il un autre moyen de placer du texte très précisément sur une feuille ?

Merci d'avance
 

AcidBird

Elite
J'ai jamais essayé mais ca doit sans doute être faisable. En utilisant COM pour communiquer avec Word, tu devrais normalement pouvoir faire tout ce que tu peux faire en Word, donc sélectionner une partie du texte, en ajouter, etc ...

Une autre solution, c'est d'étudier le format Word, d'ouvrir ton fichier en simple text et de le modifier en accord avec ce format ... mais là c'est déjà une autre histoire (et bon courage pour trouver la doc sur le format ^^)

Dernière possibilité, si la librairie d'open office est compatible avec VB (??), ca pourra surement faire ton bonheur ...
 
1er
OP
AssiuM

AssiuM

Fan
oui merci

par exemple pour écrire un texte dans un fichier et faire un retour chariot, il faut faire ceci :

Code:
Application.Documents("Permis2.doc").Paragraphs(1).Range.Words(1).Characters(1).Text = "Nom : " & NomTextbox.Text
    Selection.EndKey wdStory
    Selection.TypeParagraph
quand je ne savais pas comment faire quelque chose, j'enregistrais une macro et je faisait mon action, puis j'allais voir le code (par exemple comment mettre un texte en gras...)

mais impossible de switcher de zone de texte quand j'enregistre une macro :cry: , je me demande donc si c'est faisable :?
 

Bingo

Beer Addict
Et avec un truc du style :

Dim oShape
For each oShape in ActiveDocument.Shapes
'Verifie que c'est une zone de texte et execute ton code
Next

Ca marche pas ?
 

Nikko

...
Mois j'ai pour le boulot créé un fichier qui me sert de référence.
J'ai utilisé une séquence de caractère spéciale du style ^^[ puis un nom pour désigner l'endroit.

Puis je fais une recherche sur cette chaîne et je la remplace.
Ca m'a permis de gagner beaucoup de temps mais c'est peut être par la manière la plus appropriée ou la plus jolie dans ton cas.
 
1er
OP
AssiuM

AssiuM

Fan
merci pour vos réponses, je vais tester tout ça lundi, parce que si j'avais pris le projet chez moi, j'aurais pas arrêté (je suppose que vous connaissez :D )
 
1er
OP
AssiuM

AssiuM

Fan
merci j'ai avancé grâce à la méthode de Bingo

Seulement, là où il faut mettre le code, j'ai testé

Code:
Application.ActiveDocument.ActiveShape.Text = "Nom : " & NomTextbox.Text
Et j'ai un message d'erreur à la compilation :

'Erreur d'exécution 438
Propriété ou méthode non gérée par cet objet'

:eek: , j'espère trouver

si quelqu'un aurait un site de référence sur le VBA ça m'aiderait bien :p ?
 
1er
OP
AssiuM

AssiuM

Fan
J'ai plus ou moins trouvé ce que je cherchais, mais maintenant pas moyen de retirer la bordure d'une zone de texte, personne n'a un document qui explique les attributs d'une zone de texte en détails ? je trouve rien grand chose sur ms :cry:
 

Bingo

Beer Addict
AssiuM a dit:
J'ai plus ou moins trouvé ce que je cherchais, mais maintenant pas moyen de retirer la bordure d'une zone de texte, personne n'a un document qui explique les attributs d'une zone de texte en détails ? je trouve rien grand chose sur ms :cry:
Dans l'aide de word il n'y a pas ça?
Sinon, tu peux toujours utiliser sendkeys. C'est un peu barbare comme méthode, mais c'est simple.
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut