Aller au contenu

Nombre d\'imprimantes déclarées


Messages recommandés

Posté(e)

Salut à tous !

 

 

Dans une macro, je cherche à récupérer le nombre d'imprimantes disponible sous Catia.

 

Voila le bout de code :

Dim ActivePrinter As Printer
Set ActivePrinter = CATIA.ActivePrinter
MsgBox ("L'imprimante active est : "&ActivePrinter.DeviceName)

Dim PrintersCollection As Printers
Set PrintersCollection = CATIA.Printers
Dim nb_printers As long
Set nb_printers = PrintersCollection.Count
MsgBox ("Il y a "&Cstr(nb_printers)&" imprimantes de déclarées")

 

La ligne Set nb_printers.... me renvoie une erreur Objet requis et je ne vois pas pourquoi !!!

 

 

Merci d'aider un débutant.......

Ciao :cool:

Posté(e)

Salut 8_pool,

 

Je pense que l'erreur vient du fait que tu emplois la fonction "Set", alors que celle-ci est réservée pour les objets. Ne rien mettre pour les variable explicites.

 

"Set ActivePrinter = CATIA.ActivePrinter" ---- >> Ok ( quoi que le nom de ton objet merite d'être personnalisé, ex : "MyActivePrinter")

 

mais comme nb_printers est de type long, donc :

 

nb_printers = PrintersCollection.count

 

Je te conseille aussi de retirer les accolades "()" externes à la fonction msgbox ou alors utilise :

 

Call msgbox (......) si tu veux les garder.

 

Bon courage

 

Coco9

Posté(e)

Grand Merci à toi, coco9 !

 

C'est tellement évident.....

 

OK pour le nom des variables, j'ai juste pour le moment repompé les exemples de l'aide dans un bout de fichier test.

 

OK également pour les parenthèses, mais dans les exmples que j'ai pu trouvé, tantôt il y en a et tantôt il n'yen a pas, alors dans le doute, je les ai mises.

 

 

Ciao :cool:

Posté(e)

Salut,

 

Pour compléter ma réponse du 17 à propos des parenthèses, quand j'ai noter "Je te conseille ...", j'aurais du écrire "Il faut...".

 

En effet l'interpréteur n'accepte pas les parenthèses dans un appel de "sub" sauf si on met "call" devant, mais oblige à les utiliser pour les appels de "Function", sauf s'il n'y pas de retour.

 

msgbox est un bon exemple :

 

Dim Result as Integer

Result = MsgBox("Message", vbInformation, "Titre")

 

ou

 

MsgBox "Message", vbInformation, "Titre"

ou

Call MsgBox("Message", vbInformation, "Titre")

 

Reste quand même à vérifier si avec le mot clés "ByRef" la syntaxe est la même (je crois que oui).

 

A plus,

 

Coco9

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é