2 petites questions

cs_moi4975 Messages postés 109 Date d'inscription lundi 27 juin 2005 Statut Membre Dernière intervention 17 juillet 2007 - 7 oct. 2005 à 19:12
le_virus Messages postés 48 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 12 mars 2010 - 7 oct. 2005 à 20:33
voila j'ai un feuille qui sert a imprimer avec un combo qui contien le nom des imprimantes instalées :

dim Imprimante as printer

For Each Imprimante In Printers
cmbImprimante.AddItem Imprimante.DeviceName
Next


Voila mes questions :


1- Comment pourrais-je faire pour que le combo affiche l'imprimante par défaut au début ?

2- Comment faire pour que l'imprimante par défaut change en fonction de celle que l'utilisateur a choisit dans le combo.

1 réponse

le_virus Messages postés 48 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 12 mars 2010
7 oct. 2005 à 20:33
Salut

Cherches bien dans les codes de vbfrance....

sinon je te passe ce code qu'il te faudra adapter a ton probleme...



<ol>
<li>
Declare
Function
WriteProfileString Lib <var>"kernel32"</var> Alias <var>"WriteProfileStringA"</var> (ByVal lpszSection As
String
, ByVal lpszKeyName As
String
, ByVal lpszString As
String
) As Long</li><li>
Declare
Function
SendMessage Lib <var>"user32"</var> Alias <var>"SendMessageA"</var> (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lparam As
String
) As Long</li><li>
Sub
Main()</li><li>
If
Command
$ <var>""</var>
Then
</li><li>
For
Each Prt In Printers:
Set
Printer
Prt: m$ = m$ + vbCrLf + Printer.DeviceName:
Next
</li><li>
MsgBox
<var>"Pour changer l'imprimante par défaut,
passez en paramètre au programme une sous-chaîne unique d'une des
chaînes suivantes (attention aux majuscules/minuscules) :"</var> + _</li><li> vbCrLf + m$, 64, <var>"ImpDefaut"</var></li><li>
Else
</li><li>
For
Each Prt In Printers</li><li>
If
InStr
(Prt.DeviceName,
Command
$) > 0
Then
Set
Printer Prt:
Exit
For
</li><li>
Next
</li><li> </li><li> r
WriteProfileString(<var>"windows"</var>, <var>"Device"</var>, Printer.DeviceName + <var>","</var> + Printer.DriverName + <var>","</var> + Printer.Port)</li><li> l = SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, <var>"windows"</var>)</li><li>
End
If
</li><li>
End
Sub
</li>
</ol>
Vla @ tte
0
Rejoignez-nous