Bonjour. Voila dans une marcro j'ai le code ci-dessous ce code m'affiche directement les propriétés de l'imprimante et ensuite imprime mais lorsque je clique sur annuler, dans la fenetre des propriéte, l'impression se lance comme meme.
Sub test()
With ActiveDocument
.PrintSettings.Printer.ShowDialog
.PrintOut
End With
End Sub
je voudrais savoir comment prendre en compte le boutton annuler pour que l'impression ne se lance pas.
merci
bon g sa:
Public Sub test()
On Error GoTo ErrorHandler
With ActiveDocument
.PrintSettings.Printer.showdialog
If vbNo = MsgBox("Imprimer ce document ?", vbYesNo) Then
GoTo ErrorHandler
Else
.PrintOut
End If
End With
ErrorHandler:
End Sub
et sinon est-ce qu'il est possible de creer une sorte de plugins qui créerait un icone dans un programm de type corel draw par example et qui exécuteré ma macro lorsque je cliquerais dessus .
car ce programme doit être mit sur plusieurs poste chez des clients qui installeront eux même le logiciel donc lors de l'installation de corel il faut que l’icône apparaisse déjà c’est pour cela qu’il me faut savoir comment faire sa, j’ai pensé à faire une sorte de plugins ou de dll mais je ne vois pas comme faire.
merci
Salut,
Pour afficher tu peux mettre juste:
Reponse1 = Application.Dialogs(xlDialogPrint).Show
Et pour installer tes macros chez tes clients, tu peux exporter ton code VBA en sous forme de fichier *.bas, ou alors créer une macro complémentaire et le mettre en fichier *.xla
Je connais pas la démarche, mais chez sur google et tu auras des réponses.
Ton code pour afficher ne fonctionnne pas et c'est un code pour exel si jme troupe pas alors que moi je suis dans corel draw 12.
En plus je ne pense pas que cette méthode soit la plus approprié à ce que je dois faire mais merci comme même.
ah désolé.
je connais corel draw, donc je peux pas t'en dire plus, mais peut-être que sur le principe et en cherchant un peu tu trouveras quelque chose.
sinon g réussi a crrér une commande bar mais jarrive pas a mettre de bouton dedans :
Sub Personnalisé()
With CommandBars.Add("print", cuiBarTop, True)
.Visible = True
.Controls.Add ???
end with
end sub
comment on fait pour y ajouter un bouton ?
voila le code
Public Sub Installation_de_la_barre()
CommandBars.Add "lancement en gravure", cuiBarTop, False 'crée la toolbar
CommandBars.Item("lancement en gravure" ).Visible = True
With CommandBars.Item("lancement en gravure" ).Controls.AddCustomButton("Macros", "gravure.Module.lancement" )
.Caption = "Print" 'crée le bouton avec les propriétés adéquates
.Visible = True
.SetCustomIcon ("C:\Program Files\Corel\Corel Graphics 12\Draw\GMS\laser.ico" ) ' chemin d’accès de son propre icône.
.ToolTipText = "envoie en gravure"
End With
End Sub
Sub lancement()
'macro qui permet d'ouvrir directement les propriétés de l'imprimante pour ensuite imprimer le document.
On Error GoTo ErrorHandler 'renvoie à ErrorHandler s'il n'y a pas de document ouvert.
x = "L-Solution" ' nom de l’imprimante laser
' Faire en sorte que l’imprimante laser "L-Solution" soit celle par défaut
ActiveDocument.PrintSettings.SelectPrinter (x)
With ActiveDocument
.PrintSettings.Printer.showdialog 'ouvre la boite de dialogue des propriétés de l'imprimante.
If vbNo = MsgBox("Lancer en gravure ce document ?", vbYesNo) Then 'demande confirmation pour l'envoie en gravure.
GoTo ErrorHandler 'reponse "annuler" revoie a ErrorHandler
Else
.PrintOut 'réponse "ok" et lance la gravure
End If
End With
ErrorHandler: 'arrêt de la macro lorsqu'il n'y pas de document ouvert ou si la réponse est "annuler"
End Sub
Il y a 1370 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
