Aller au contenu

Exporter des données vers Word


Messages recommandés

Posté(e)

Bonjour à tous,

 

Ca fait longtemps que je me pose la question mais est-il possible d'exporter des données d'AutoCAD dans Word comme des coordonnées de points par exemple comme un fichier texte type txt ou csv.

Et si c'est le cas, avez vous des exemples à me fournir ?

 

Merci par avance de votre aide

John

Posté(e)

Bonjour,

 

Si tu veux créer des fichiers textes, il faut créer le fichier avec open, écrire des lignes dans le fichier avec write-line puis refermer le fichier avec close

 

(defun c:ecrirefichier ()
 (setq f (open "NouveauFichier.txt" "w"))
 (write-line "Ligne1" F)
 (write-line "Ligne2" F)
 (close F)
)

 

La fonction (getfiled Titre défaut ext drapeau) est également intéressante afin de saisir un nom de fichier grâce à une boite de dialogue.

 

Amicalement

Vincent

 

C'est au pied du mur que l'on reconnaît le maçon ! (Anonyme)

C’est en restant au pied du mur qu’on ne voit que le mur (Anonyme aussi)

Posté(e)

Merci Zebulon pour ton aide mais je connais les fonctions Lisp open write line et close.

Je fais beaucoup d'export d'atrributs, de textes, de poylignes en fichier texte, csv ou même Excel.

 

Mais là, je voudrais savoir si on peut exporter des données vers Word spécifiquement.

J'ai un proforma de Word dans lequel je dois intéger des coordonnées de points donc plutôt de passer d'Autocad à Excel puis de Excel à Word, je voudrais savoir si on peut passer d'AutoCAD à Word directement.

 

Je sais qu'en VBA on peut mais je ne connais, du moins, je commence à connaître le Lisp ou vlisp d'ou ma question ?????

 

Merci par avance de votre aide.

John

Posté(e)

Merci pour ces infos Patrick mais deux questions,

 

Tu n'aurais pas un exemple à me fournir car le vlisp c'est chaud.

Juste un exemple pour par exemple sélectionner un bloc dans AutoCAD et écrire dans Word l'attribut unique du bloc, les coordonnées x et y puis ensuite ouvrir directement Word à partir d'Autocad.

 

Merci par avance de ton aide.

John.

Posté(e)

Salut,

 

Si tu n'es pas encore à l'aise avec Visual LISP, vouloir programmer Word (ou toute autre application) est certainement prématuré.

Comme l'a dit Patrick_35, il faut utiliser la fonction vlax-dump-object pour voir les propriétés et méthodes des différents objets que tu vas créer, il peut aussi être utile d'aller sur les forums VB/VBA pour Word et retranscrire ce que tu peux y trouver en Visual LISP.

 

Je te donne quelques pistes, mais je ne pense pas en faire plus, la programmation de Word ne m'intéresse absolument pas. Je trouve d'ailleurs très bizarre d'utiliser un traitement de texte aussi sophistiqué pour stocker des valeurs d'attributs.

 

;; récupérer un nom de fichier
(setq filename (getfiled "Créer un fichier Word" "" "doc" 1))

;; obtenir ou créer une intance de l'application
(setq wapp (vlax-get-or-create-object "Word.Application"))

;; obtenir les documents
(setq wdocs (vlax-get-property wapp 'Documents))

;; créer un nouveau document
(setq wdoc (vlax-invoke-method wdocs 'Add))

;; obtenir la sélection (ou le curseur)
(setq wsel (vlax-get-property wapp 'Selection))

;; Entrer du texte
(vlax-invoke-method wsel 'TypeText "Ceci est un test")

;; sauver le fichier
(vlax-invoke-method wdoc 'SaveAs filename)

;; fermer le document
(vlax-invoke-method wdoc 'Close)

;; quitter l'application
(vlax-invoke-method wapp 'Quit)

;; supprimer l'instance et nettoyer la mémoire (indispensable)
(vlax-release-object wapp)
(gc)

 

Gilles Chanteau - gileCAD - GitHub
Développements sur mesure pour AutoCAD

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité