Je bute sur qq chose, je souhaite =E9crire un petit test qui permettrait
de savoir si l'imprimante est branch=E9 sur le pc ou non:
En gros si je suis en d=E9placement, alors le code fait autre chose, si
je suis a la maison, alors il lance l'impression, car a la maison je
suis connecte via ma station d'acceuil
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour Pat,
voici un début ,
Sub ListsPrinters() Dim oFSO As Object Dim WshNetwork As Object Dim oPrinters As Object Dim sPathFichier As String, sChaine As String, i As Integer sPathFichier = ThisWorkbook.FullName sChaine = "Imprimantes connectées au poste :" Set oFSO = CreateObject("Scripting.FileSystemObject") Set WshNetwork = CreateObject("WScript.Network") Set oPrinters = WshNetwork.EnumPrinterConnections For i = 0 To oPrinters.Count - 1 Step 2 sChaine = sChaine & "Port " & oPrinters.Item(i) & " = " & oPrinters.Item(i + 1) & vbCrLf Next MsgBox sChaine End Sub
-- isabelle
Le 2011-06-30 13:30, Patrednef a écrit :
bsr a vous tous,
Je bute sur qq chose, je souhaite écrire un petit test qui permettrait de savoir si l'imprimante est branché sur le pc ou non:
En gros si je suis en déplacement, alors le code fait autre chose, si je suis a la maison, alors il lance l'impression, car a la maison je suis connecte via ma station d'acceuil
Je vous remercie grandement de vote aide
Pat
bonjour Pat,
voici un début ,
Sub ListsPrinters()
Dim oFSO As Object
Dim WshNetwork As Object
Dim oPrinters As Object
Dim sPathFichier As String, sChaine As String, i As Integer
sPathFichier = ThisWorkbook.FullName
sChaine = "Imprimantes connectées au poste :"
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set WshNetwork = CreateObject("WScript.Network")
Set oPrinters = WshNetwork.EnumPrinterConnections
For i = 0 To oPrinters.Count - 1 Step 2
sChaine = sChaine & "Port " & oPrinters.Item(i) & " = " & oPrinters.Item(i + 1) & vbCrLf
Next
MsgBox sChaine
End Sub
--
isabelle
Le 2011-06-30 13:30, Patrednef a écrit :
bsr a vous tous,
Je bute sur qq chose, je souhaite écrire un petit test qui permettrait
de savoir si l'imprimante est branché sur le pc ou non:
En gros si je suis en déplacement, alors le code fait autre chose, si
je suis a la maison, alors il lance l'impression, car a la maison je
suis connecte via ma station d'acceuil
Sub ListsPrinters() Dim oFSO As Object Dim WshNetwork As Object Dim oPrinters As Object Dim sPathFichier As String, sChaine As String, i As Integer sPathFichier = ThisWorkbook.FullName sChaine = "Imprimantes connectées au poste :" Set oFSO = CreateObject("Scripting.FileSystemObject") Set WshNetwork = CreateObject("WScript.Network") Set oPrinters = WshNetwork.EnumPrinterConnections For i = 0 To oPrinters.Count - 1 Step 2 sChaine = sChaine & "Port " & oPrinters.Item(i) & " = " & oPrinters.Item(i + 1) & vbCrLf Next MsgBox sChaine End Sub
-- isabelle
Le 2011-06-30 13:30, Patrednef a écrit :
bsr a vous tous,
Je bute sur qq chose, je souhaite écrire un petit test qui permettrait de savoir si l'imprimante est branché sur le pc ou non:
En gros si je suis en déplacement, alors le code fait autre chose, si je suis a la maison, alors il lance l'impression, car a la maison je suis connecte via ma station d'acceuil
Je vous remercie grandement de vote aide
Pat
Patrednef
Bonsoir Isabelle
Merci pour la piste, en listant les imprimantes, il trouve également les imprimantes virtuelles type PDF creator ou XPS Writer ..
En fait je connais le nomde l'imprimante, puis je tester si celle dont je connais le nom est "branché" sur le PC ou non "branché"
Un grand merci aux contributeurs pour votre coup de main, pourtant bien habitué à écrire du code, je ne trouve pas le moyen de réalise r celui la .... c'est l'age ?
Bonne soirée à vous tous,
Pat
Bonsoir Isabelle
Merci pour la piste, en listant les imprimantes, il trouve également
les imprimantes virtuelles type PDF creator ou XPS Writer ..
En fait je connais le nomde l'imprimante, puis je tester si celle dont
je connais le nom est "branché" sur le PC ou non "branché"
Un grand merci aux contributeurs pour votre coup de main, pourtant
bien habitué à écrire du code, je ne trouve pas le moyen de réalise r
celui la .... c'est l'age ?
Merci pour la piste, en listant les imprimantes, il trouve également les imprimantes virtuelles type PDF creator ou XPS Writer ..
En fait je connais le nomde l'imprimante, puis je tester si celle dont je connais le nom est "branché" sur le PC ou non "branché"
Un grand merci aux contributeurs pour votre coup de main, pourtant bien habitué à écrire du code, je ne trouve pas le moyen de réalise r celui la .... c'est l'age ?
Bonne soirée à vous tous,
Pat
DanielCo
Bonsoir,
J'ai trouvé ça sur internet (mrexcel) :
Private Declare Function CreateIC Lib "gdi32" Alias "CreateICA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, ByVal lpInitData As Long) As Long
Public Function GetPDC(ByVal strPrinter As String) As Long GetPDC = CreateIC("WINSPOOL", strPrinter, vbNullString, 0&) End Function
Public Sub GetPrinter() If GetPDC("Canon MP830 Series Printer") = 0 Then MsgBox "Couldn't find printer :(" Else 'do some stuff End If End Sub
Il faut que tu mettes le nom de ton imprimante à la place de la mienne, bien sûr. Si elle n'est pas connectée, tu reçois un message d'injure (que j'ai eu la flemme de traduire.)
Cordialement. Daniel
Bonsoir Isabelle
Merci pour la piste, en listant les imprimantes, il trouve également les imprimantes virtuelles type PDF creator ou XPS Writer ..
En fait je connais le nomde l'imprimante, puis je tester si celle dont je connais le nom est "branché" sur le PC ou non "branché"
Un grand merci aux contributeurs pour votre coup de main, pourtant bien habitué à écrire du code, je ne trouve pas le moyen de réaliser celui la .... c'est l'age ?
Bonne soirée à vous tous,
Pat
Bonsoir,
J'ai trouvé ça sur internet (mrexcel) :
Private Declare Function CreateIC Lib "gdi32" Alias "CreateICA" (ByVal
lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As
String, ByVal lpInitData As Long) As Long
Public Function GetPDC(ByVal strPrinter As String) As Long
GetPDC = CreateIC("WINSPOOL", strPrinter, vbNullString, 0&)
End Function
Public Sub GetPrinter()
If GetPDC("Canon MP830 Series Printer") = 0 Then
MsgBox "Couldn't find printer :("
Else
'do some stuff
End If
End Sub
Il faut que tu mettes le nom de ton imprimante à la place de la mienne,
bien sûr. Si elle n'est pas connectée, tu reçois un message d'injure
(que j'ai eu la flemme de traduire.)
Cordialement.
Daniel
Bonsoir Isabelle
Merci pour la piste, en listant les imprimantes, il trouve également
les imprimantes virtuelles type PDF creator ou XPS Writer ..
En fait je connais le nomde l'imprimante, puis je tester si celle dont
je connais le nom est "branché" sur le PC ou non "branché"
Un grand merci aux contributeurs pour votre coup de main, pourtant
bien habitué à écrire du code, je ne trouve pas le moyen de réaliser
celui la .... c'est l'age ?
Private Declare Function CreateIC Lib "gdi32" Alias "CreateICA" (ByVal lpDriverName As String, ByVal lpDeviceName As String, ByVal lpOutput As String, ByVal lpInitData As Long) As Long
Public Function GetPDC(ByVal strPrinter As String) As Long GetPDC = CreateIC("WINSPOOL", strPrinter, vbNullString, 0&) End Function
Public Sub GetPrinter() If GetPDC("Canon MP830 Series Printer") = 0 Then MsgBox "Couldn't find printer :(" Else 'do some stuff End If End Sub
Il faut que tu mettes le nom de ton imprimante à la place de la mienne, bien sûr. Si elle n'est pas connectée, tu reçois un message d'injure (que j'ai eu la flemme de traduire.)
Cordialement. Daniel
Bonsoir Isabelle
Merci pour la piste, en listant les imprimantes, il trouve également les imprimantes virtuelles type PDF creator ou XPS Writer ..
En fait je connais le nomde l'imprimante, puis je tester si celle dont je connais le nom est "branché" sur le PC ou non "branché"
Un grand merci aux contributeurs pour votre coup de main, pourtant bien habitué à écrire du code, je ne trouve pas le moyen de réaliser celui la .... c'est l'age ?
Bonne soirée à vous tous,
Pat
Maude Este
Bonsour®
"Patrednef" a écrit
Merci pour la piste, en listant les imprimantes, il trouve également les imprimantes virtuelles type PDF creator ou XPS Writer ..
En fait je connais le nomde l'imprimante, puis je tester si celle dont je connais le nom est "branché" sur le PC ou non "branché"
autre alternative : demander le changement ou confirmation de l'imprimante active
Sub TestPrinter() x = Application.ActivePrinter Rep = Application.Dialogs(xlDialogPrinterSetup).Show y = Application.ActivePrinter MsgBox "Avant : " & x & Chr(10) & "Maintenant : " & y End Sub
Bonsour®
"Patrednef" a écrit
Merci pour la piste, en listant les imprimantes, il trouve également
les imprimantes virtuelles type PDF creator ou XPS Writer ..
En fait je connais le nomde l'imprimante, puis je tester si celle dont
je connais le nom est "branché" sur le PC ou non "branché"
autre alternative :
demander le changement ou confirmation de l'imprimante active
Sub TestPrinter()
x = Application.ActivePrinter
Rep = Application.Dialogs(xlDialogPrinterSetup).Show
y = Application.ActivePrinter
MsgBox "Avant : " & x & Chr(10) & "Maintenant : " & y
End Sub
Merci pour la piste, en listant les imprimantes, il trouve également les imprimantes virtuelles type PDF creator ou XPS Writer ..
En fait je connais le nomde l'imprimante, puis je tester si celle dont je connais le nom est "branché" sur le PC ou non "branché"
autre alternative : demander le changement ou confirmation de l'imprimante active
Sub TestPrinter() x = Application.ActivePrinter Rep = Application.Dialogs(xlDialogPrinterSetup).Show y = Application.ActivePrinter MsgBox "Avant : " & x & Chr(10) & "Maintenant : " & y End Sub