Ac2016
In new module:
Code:
Option Explicit
Private Declare PtrSafe Function ProgressMeter Lib "accore.dll" Alias "?acedSetStatusBarProgressMeter@@YAHPEB_WHH@Z" _
(ByVal strCaption As String, ByVal intmin As LongPtr, ByVal intmax As LongPtr) As Boolean
Private Declare PtrSafe Function SetProgBarPos Lib "accore.dll" Alias "?acedSetStatusBarProgressMeterPos@@YAHH@Z" _
(ByVal intVal As LongPtr) As Boolean
Private Declare PtrSafe Function RestoreStatus Lib "accore.dll" Alias "?acedRestoreStatusBar@@YAXXZ" () As Boolean
Public Function ProgressBarOn(ByVal captionProgressBar As String, ByVal minProgressBar As Long, ByVal maxProgressBar As Long)
On Error Resume Next
ProgressMeter StrConv(captionProgressBar, vbUnicode), minProgressBar, maxProgressBar
Err.Clear
End Function
Public Function ProgressBarOff()
On Error Resume Next
RestoreStatus
Err.Clear
End Function
Public Function ProgressBarRun(ByVal i As Long)
On Error Resume Next
SetProgBarPos (i)
Err.Clear
End Function
Public Sub TestProgressBar()
Dim i As Long
ProgressBarOn "Barra de progreso: ", 0, ThisDrawing.ModelSpace.Count * 10
'ProgressMeter "Barra de progreso: ", 0, ThisDrawing.ModelSpace.Count * 10
For i = 0 To ThisDrawing.ModelSpace.Count * 10
i = i + 1
'ThisDrawing.Utility.Prompt "Numero: " & i
ProgressBarRun i
'SetProgBarPos (i)
Next
ProgressBarOff
'RestoreStatus
End Sub