Как насчет добавления элемента управления индикатором выполнения от Microsoft?
Поскольку PowerPoint не является приложением реального времени, вы не сможете увидеть индикатор выполнения, если вы делаете его с некоторыми фигурами.Иногда вы можете увидеть только конечный результат - только полный бар или вообще ничего).Напротив, индикатор выполнения больше «в реальном времени» или более актуален (я признаю, что это немного классический дизайн).
Вот некоторые шаги для кого-то:
Чтобы добавить элемент управления индикатором выполнения, сначала необходимо добавить пользовательскую форму в окне VBE (Alt-F11).(Меню: Вставка - Пользовательская форма)
Щелкните правой кнопкой мыши на появившемся окне панели инструментов и выберите дополнительный элемент управления.Прокрутите вниз и выберите «Элемент управления Microsoft Progress Bar, версия x.0» (этот элемент управления предоставляется MSCOMCTL.OCX)
Нажмите OK.Теперь вы видите значок индикатора выполнения в конце списка инструментов.Нажмите на нее и нарисуйте индикатор выполнения на UserForm1.Измените размер окна UserForm1.Чем меньше, тем лучше.Вы можете изменить заголовок окна с «UserForm1» на «Progressing ...» или любое другое сообщение, выбрав значение Caption в окне свойств.
Добавьте модуль и поместите некоторый код, как показано ниже.
Option Explicit
Sub MyJob()</p>
'Show the Progress Bar window
UserForm1.Show vbModeless 'vbModeless option should be added
Dim i As Long, Total As Long
Total = 200
Randomize
For i = 1 To Total
'put some code here. Especially, some jobs that take some time.
'for example, add a rounded box with random color on slide #1
With ActivePresentation.Slides(1).Shapes.AddShape(msoShapeRoundedRectangle, i, i, 500, 200)
.Name = "Shape_" & i
.Fill.ForeColor.RGB = RGB(255 * Rnd, 255 * Rnd, 255 * Rnd)
.Adjustments(1) = 0.5
.Line.Visible = msoFalse
.TextFrame.TextRange = i
End With
'Update the Progress bar
UserForm1.ProgressBar1.Value = Int(i * 100 / Total)
'integer between 0 and 100. Otherwise, pops up an error
UserForm1.Repaint 'refresh the Userform
Next i
'close ProgressBar UserForm
Unload UserForm1
End Sub
По умолчанию значение индикатора выполнения должно быть целым числом от 0 до 100. Если это '101', вы получаете ошибку.Так что будь осторожен.
Кроме того, вы можете изменить форму индикатора выполнения, изменив значения свойств.Например, размер бара, местоположение (сверху, слева), минимальное значение (0) или максимальное значение (по умолчанию это 100. Но вы можете изменить его на 50 или любое другое значение). Вы также можете изменить ихпрограммно.
Индикатор выполнения несколько старомоден, но полезен для более быстрой (?) реакции, чем созданный пользователем индикатор выполнения типа фигуры.