Aller au contenu

Messages recommandés

Posté(e)

Bonjour à tous,

 

Voilà mon problème, j'insère depuis un lisp des valeurs dans des feuilles Excel qui coorespondent à des attributs, jusque là rien ne sensationnel mais là ou ca se complique, c'est que si, dans un premier temps j'ouvre un classeur, j'intègre les données puis le referme et j'ouvre dans un second temps un second classeur, j'ai le retour en ligne de commande de mon lisp

 

erreur: type d'argument incorrect: VLA-OBJECT nil 

 

Au début de mon lisp, j'ai

 

 (if (setq ExcelApp (vlax-get-or-create-object "Excel.Application"))
(progn
(vlax-invoke-method (vlax-get-property ExcelApp "ActiveWorkbook") "Save")
(setq wks (vlax-get ExcelApp 'Workbooks))
(setq fi_open nil)
(vlax-for sel wks (setq fi_open (append fi_open (list (strcase (vlax-get sel 'fullname))))))
(setq wks1 (vlax-invoke-method (vlax-get-property ExcelApp 'WorkBooks) 'Open (nth 1 fi_open)))
(setq she1 (vlax-get-property ExcelApp "ActiveSheet"))
)
)

 

Et en fin de code quand je ferme ma boite de dialogue, j'ai

 

 (vlax-release-object ExcelApp)
(gc)
(gc)

 

Tout marche nickel si je travaille dans un seul fichier Excel ouvert après l'ouverture d'Autocad mais si par malheur, je ferme mon premier classeur et j'en ouvre un autre, ca plante.

 

De plus, je fais un

 (vlax-invoke-method (vlax-get-property ExcelApp "ActiveWorkbook") "Save")

en début de programme car j'ai un problème pour compter le nombre de lignes dans une feuille comme si excel ne se rafraichit pas au fur et à mesure que l'on insère des données.

 

Pour compter mes lignes, je fais

 

 (setq f_res (vlax-get-property (vlax-get wks1 'sheets) 'item "ATTRIBUTS"))
(vlax-invoke-method f_res 'Activate)
(setq nlig (vlax-get (vlax-get (vlax-get f_res 'usedrange) 'rows) 'count))

 

Tout marche nickel sauf si je veux passer d'un classeur à l'autre mais le lisp plante sur la ligne

 (vlax-invoke-method (vlax-get-property ExcelApp "ActiveWorkbook") "Save")

quand j'ouvre un second classeur et je ne vois pas pourquoi ?

 

Si vous avez une idée, merci encore de votre aide et Bonnes Fêtes.

John

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é