Bonjour Membres du forum !
1°) _ Je voudrais ajouter les boutons "Ouvrir" et "Annuler" à la fenêtre Windows qui s'ouvre
d’après le code suivant de la commande "OuvrBDialog" du formulaire "FrmBoiteDialogue":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Private Sub CmdOuvrBDialog_Click() If MsgBox("ATTENTION !" & vbCrLf & "Voulez-vous vraiment ouvrir" & vbCrLf & "la boîte de dialogue ?", vbQuestion + vbOKCancel, "OUVRIR LA BOITE DE DIALOGUE") = vbCancel Then Exit Sub ShellExecute Me.hwnd, "open", "C:\Users\OUMAR_SANOGO\Documents", vbYes + vbCancel, "OUVRIR BOITE DE DIALOGUE", 1 End Sub2°) _ Le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 'Déclaration de Comment ouvrir un fichier HTML, Word, PDF ou autre en utilisant l'exécutable associé ? Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _ (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _ ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Longavec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Arreter() SHShutDownDialog 0 End Subrenvoie le message suivant: "Convention d'appel DLL incorrecte", quelle en est la cause ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 'Ce code permet d'afficher la fenêtre "Arrêter l'ordinateur" de Windows Private Declare Function SHShutDownDialog Lib _ "shell32" Alias "#60" (ByVal YourGuess As Long) As Long
3°) _ Le code d'impression renvoie le message suivant: "utlisation incorrecte de l'opérateur AddressOf AppProc" du code:
, d'où provient l'erreur ?
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 '--------------------------------------------------------------------------------------- ' Fonction publique d'appel de la boîte de dialogue d'impression '--------------------------------------------------------------------------------------- Public Function PrintBox(Optional pTitle As String = "", _ Optional pPrinter As String, _ Optional pNbCopies As Integer = 1, _ Optional pSortPages As Boolean = True, _ Optional pPageFrom As Integer, Optional pPageto As Integer, _ Optional pPrintImmediate As Boolean = False) On Error GoTo Gestion_Erreurs ' Titre de la fenêtre PB_Title = pTitle ' Nombre de copies PB_NbCopies = pNbCopies ' Trier les pages PB_SortPages = pSortPages ' Pages à imprimer PB_PageFrom = pPageFrom PB_pageTo = pPageto ' Impression immédiate PB_PrintImmediate = pPrintImmediate ' Imprimante PB_Printer = pPrinter ' Surveille les messages de l'application en attente d'ouverture de la boîte de dialogue #If VBA6 Then PB_AppOldProc = SetWindowsHookEx(WH_CALLWNDPROC, AddressOf AppProc, _ GetWindowLong(GetForegroundWindow, GWL_HINSTANCE), _ GetCurrentThreadId()) #Else PB_AppOldProc = SetWindowsHookEx(WH_CALLWNDPROC, AddrOf("AppProc"), _ GetWindowLong(GetForegroundWindow, GWL_HINSTANCE), _ GetCurrentThreadId()) #End If ' Appel la boîte de dialogue d'impression standard DoCmd.RunCommand acCmdPrint ' Stoppe la surveillance des messages Call UnhookWindowsHookEx(PB_AppOldProc) Gestion_Erreurs: If Err.Number <> 0 Then MsgBox Err.Description End Function
Piéce jointe: - ExercicesOuvrirBoitesDialogues
- 2 captures d'écran
Cordialement
Partager