Bonjour,
J'utilise sur mon entreprise un SI Angular, j'ai des rapports PDF que je génère et que j'imprime quotidiennement, je veux créer un programme VBA qui a pour but d'imprimer l’ensemble de mes rapports, j'ai tenté ce programme mais ça ne marche pas
Module:
Bouton :
finalement j'ai le message d'erreur de la PJ
Environnement
- MS Office Pro plus 2016
- Windows 10
- SI sous Angular
-Accès avec login et mot de passe
J'utilise sur mon entreprise un SI Angular, j'ai des rapports PDF que je génère et que j'imprime quotidiennement, je veux créer un programme VBA qui a pour but d'imprimer l’ensemble de mes rapports, j'ai tenté ce programme mais ça ne marche pas
Module:
VB:
Option Explicit
Public 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 Long
Public Declare Function GetDesktopWindow _
Lib "user32" () _
As Long
Public Const SW_HIDE As Long = 0
Public Const SW_NORMAL As Long = 1
Public Const SW_MAXIMIZE As Long = 3
Public Const SW_MINIMIZE As Long = 6
Public Function fnShellOperation(strFilePath As String, _
Optional strOperation As String, _
Optional nShowCmd As Double) As Long
Dim hWndDesk As Long
'// use the desktop as default ... you should use your App.handle
hWndDesk = GetDesktopWindow()
If Len(strOperation) = 0 Then strOperation = "Open"
If nShowCmd = Null Then nShowCmd = SW_MAXIMIZE
'// Failure when >0 or <=32
fnShellOperation = ShellExecute(hWndDesk, strOperation, strFilePath, 0, 0, nShowCmd)
If fnShellOperation <= 32 Then
MsgBox "Couldn't " & strOperation & " " & strFilePath & vbCrLf & vbCrLf & _
"Error:= " & fnShellErr(fnShellOperation)
End If
'// OK check IF there was an Association Error
If fnShellOperation = 31 Then
'// OK Ask user if they want to Open it using another program
If MsgBox(strOperation & " Using another Application", vbYesNo) = vbYes Then
Shell "rundll32.exe shell32.dll,OpenAs_RunDLL " & strFilePath, vbNormalFocus
End If
End If
End Function
'//---------------------------------------------------------------------------------------
'// Function : fnShellErr
'// DateTime : 20/09/03 20:50
'// Author : "Ivan F Moala"
'// Site : "http://www.xcelfiles.com"
'// Purpose :
'---------------------------------------------------------------------------------------
Public Function fnShellErr(Ret As Long) As String
Select Case Ret
'// Typical Errors
Case 0: fnShellErr = "The operating system is out of memory or resources."
Case Is = 2: fnShellErr = "The specified FILE was not found."
Case Is = 3: fnShellErr = "The specified PATH was not found."
Case Is = 5: fnShellErr = "The operating system denied access to the specified file."
Case Is = 8: fnShellErr = "There was not enough memory to complete the operation."
Case Is = 11: fnShellErr = "The .EXE file is invalid (non-Win32 .EXE or error in .EXE image)."
Case Is = 26: fnShellErr = "A sharing violation occurred."
Case Is = 27: fnShellErr = "The filename association is incomplete or invalid."
Case Is = 28: fnShellErr = "The DDE transaction could not be completed because the request timed out."
Case Is = 29: fnShellErr = "The DDE transaction failed."
Case Is = 30: fnShellErr = "The DDE transaction could not be completed because other DDE transactions were being processed."
Case Is = 31: fnShellErr = "There is no application associated with the given filename extension."
Case Is = 32: fnShellErr = "The specified dynamic-link library was not found."
Case Else: fnShellErr = "*UNDEFINED* Error"
End Select
End Function
Public Function ShellImprime(URL As String)
ShellExecute 0, "print", URL, "", "", 0
End Function
Bouton :
Code:
Private Sub CommandButton1_Click()
Dim Ret As Long, myPath As String
myPath = "https://**********/api/reports?code=17&entityId=&currentUsername=********&currentActelId=5811#page=1&zoom=auto,0,-677"
'// Substitute here your Doc full path
Ret = fnShellOperation(myPath, "print", SW_MAXIMIZE)
End S
finalement j'ai le message d'erreur de la PJ
Environnement
- MS Office Pro plus 2016
- Windows 10
- SI sous Angular
-Accès avec login et mot de passe