Bienvenue 

sur les faqs Word & PowerPoint

Une question ? Cliquez ici.

 Un exemple à télécharger ? Cliquez ici.

 

Word 365 : Vous saurez tout !

Auteur sur XinXii

Pour tout connaître sur Word

8,90 €

 

 

Le VBA ne reconnaît que l'imprimante active. L'imprimante active est la dernière utilisée et non l'imprimante par défaut.

Il faut passer par des API. et ce n'est pas si simple ! Voici donc une macro assortie d'une fonctions, le tout écrit par Geo qui permet d'imprimer sur l'imprimante par défaut et remet l'imprimante active précédente.

L'inconvénient c'est qu'elle imprime tout le document sans autre question.

Sub ImprimerSurDéfaut()
'macro écrite par Geo
Dim MémoireImpr As String
  MémoireImpr = ActivePrinter
  ActivePrinter = ImprimanteWindows
  ActiveDocument.PrintOut
  ActivePrinter = MémoireImpr
End Sub

 

Private Function ImprimanteWindows()
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim s1 As String
Dim r As Long
Dim Buffer As String
Dim NomImpr As String
Dim Spool As String
Dim Port As String
Buffer = Space(8192)
= GetProfileString("Windows""Device""", Buffer, Len(Buffer))
Debug.Print Buffer i = InStr(Buffer, Chr(0))
If i > 0 Then
  s1 = Left(Buffer, i - 1)
  j = InStr(s1, ",")
  k = InStr(j + 1, s1, ",")
  NomImpr = Left(s1, j - 1)
  If k > j Then
    Spool = Mid(s1, j + 1, k - j - 1)
    Port = Mid(s1, k + 1)
  End If
Else
 ' pas d'imprimante par défaut ?
   NomImpr = ""
End If
ImprimanteWindows = NomImpr & " on " & Port
End Function

Statistiques

Aujourd'hui262
Hier1383
Cette semaine262
Ce mois33525
Total depuis 200410768933

18
visiteurs actuellement en ligne