Comment imprimer des fichiers Excel sous vb.net ?

nakata77 Messages postés 32 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 27 juillet 2007 - 3 août 2006 à 17:06
nakata77 Messages postés 32 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 27 juillet 2007 - 7 août 2006 à 15:12
Bonjour

j'aimerai imprimer des fichiers excel sous vb.net et choisir l'imprimante

Merci

8 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 août 2006 à 06:52
Salut,

regarde la source de notre ami Drikce :
http://www.vbfrance.com/codes/CODE-PERMETTANT-MANIPULER-OBJETS-EXCEL-NET_38534.aspx

Cela te permettra de manipuler un fichier Excel.

Pour le choix de l'imprimante, avant d'effectuer le PrintOut :
xlApp.ActivePrinter = "Nom de l'imprimante sur tel port"

@++

--Mortalino--
Le Mystérieux Chevalier "Provençal, le Gaulois"
0
nakata77 Messages postés 32 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 27 juillet 2007
4 août 2006 à 09:31
Bonjour

j'ai essayé
Pour le choix de l'imprimante, avant d'effectuer le PrintOut :
xlApp.ActivePrinter = "Nom de l'imprimante sur tel port"
ça ne marche pas

il m'inscrit comme erreur
Exception from HRESULT: 0x800A03EC

ya t'il une autre solution

merci
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 août 2006 à 12:36
Pour xlApp, remplace le par ta propre référence (si tu as déclaré ton classeur par un autre nom de vriable, met celui-là)

pour le nom de l'imprimante, ce doit-etre qque chose du style
"Desjet XXX sur Ne03"

++
0
nakata77 Messages postés 32 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 27 juillet 2007
4 août 2006 à 13:38
 

j'ai utilisé le meme nom xlApp
dans mon prog  et concernant le nom de l'imprimante j'ai mis
xlApp.ActivePrinter = "
[file://\\splpt10031\PILPT11Y1P sur Ne01: \\splpt10031\PILPT11Y1P sur Ne01:]"mais ça veut pas marché , j'ai bien vérifié le nom de mon imprimante et si je met
mon imprimante par defaut (" \\splpt10031\PLLPT11ZMR
sur Ne01:")

[file://\\splpt10031\PLLPT11ZMR xlApp.ActivePrinter = "\\splpt10031\PLLPT11ZMR] sur Ne01:"
la ça marche
en faite j'ai l'impression qui veut pas d'autres imprimantes

j'ai essayé aussi
xlApp.ActivePrinter = "[file://splpt10031/PILPT11Y1P%20sur%20Ne01: PILPT11Y1P sur Ne01:]"
ça marche pas

merci

++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 août 2006 à 15:08
L'idéal, ce serait que tu ouvres excel, met en route l'enregistreur de macro*, puis fait "Fichier", "Imprimer...", sélectionne la bonne imprimante et fait l'impression (d'un fichier bidon, c'est juste pour la syntaxe).
Arrête l'enregistreur de macro et regarde le code, tu auras le nom précis de l'imprimante.

* pour lancer l'enregistreur de macro, fait un clic droit sur une zone libre de la barre d'outils, sélectionne Visual Basic, une petite fenêtre (rectangulaire) apparaît. Appuie sur le rond rouge (enregistrement).
Pour l'arrêter, c'est le carré. Ensuite sélectionne "Macro1", fait "modifier" (ou éditer, je sais plus trop)

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
nakata77 Messages postés 32 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 27 juillet 2007
4 août 2006 à 16:10
Merci beaucoup ,j'ai réussi a imprimer sur une autre imprimante
c'est vrai que le nom de mon imprimante n'était pas exact, je suis désolé
Enfaite le nom de mon imprimante est bonne c'est juste le port qui n'était pas bon
Tu sais comment on peut recupéré le port de l'imprimante ?
merci
++
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
4 août 2006 à 16:19
Seulement de cette façon.
En plus il y a les Switch qui viennent se gréfer au milieu donc pas évident.

Désolé,

@++

   Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"
0
nakata77 Messages postés 32 Date d'inscription samedi 22 octobre 2005 Statut Membre Dernière intervention 27 juillet 2007
7 août 2006 à 15:12
ok ok , j'ai trouvé kelke truc sur le net intérrésant

pour obtenir les ports imprimantes aparament il faut utilisé Win_32 printer la classe
celui te permettra d'avoir les portnames

mais le problemme c'est que je n'arrive pas a l'utilisé

je fais ça

Dim mos
As
New System.Management.ManagementObjectSearcher( _

"Select * from Win32_Printer")

Dim moc
As System.Management.ManagementObjectCollection = _mos.Get()

Dim mo
As System.Management.ManagementObject

For
Each mo
In moc

string test = mo.portname

Nextça marche pas , je dois surement trop mal utilisé

si tu as une idé ou une aide ou un lien merciiiiiiii
0
Rejoignez-nous