Bonjour,
Ici, PrintOlder me sauvegarde le nom d'imprimante défaut à l'ouverture du formulaire menu général, et lorsque je quitte ce dernier et donc l'appli, je veux switcher vers cette PrintOlder, au cas où l'imprimante par défaut s'est modifié au cours de l'utilisation de l'outil par un user.
[Pour rappel, getdefaultprinter récupère le nom de l'imprimante par défaut, et "SwitchDefaultPrinter(AutreImprimante" as string) détermine AutreImprimante comme Imprimante par défaut.
Ces fonctions fonctionnent très bien sur mon appli, au sein d'1 fonction PDF d'un module, lorsque je veux sortir un pdf d'un état par exemple. ]
J'aimerais que lorsque je quitte mon fichier Access, l'imprimante par défaut lors de l'ouverture se rétablisse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Option Compare Database Option Explicit Public PrintOlder As String Public Sub Form_Open(Cancel As Integer) 'Call Initialisation sert pour autre chose PrintOlder = getdefaultPrinter Msgbox "" & PrintOlder & "" End Sub Private Sub Form_Close() 'en cas de variations successives d'impr par default, on va récupérer l'imprimante par défaut à l'ouverture de fichier>plus de pb Msgbox "" & PrintOlder & "" SwitchDefaultPrinter PrintOlder Msgbox "" & PrintOlder & "" End Sub
Ici j'ai 2 sub, et donc ma variable PrintOlder se différencie entre les 2 Sub, c'est là le problème.
A la fermeture, mon PrintOlder devient vide, il n'y a plus d'impr par défaut. Je sais que le problème est que PrintOlder est une variable. Mais comment faire pour que ce soit une variable qui une fois qu'elle reçoit l'imprimantepardefaut, ne puisse plus être modifiée comme une constante? La réponse doit être simple, mais j'ai essayé tout ce que je savais...
Partager