Вопрос

Как я могу создать индикатор выполнения с помощью PowerPoint VBA?Это должно быть сделано в виде анимации на слайде.

Это было полезно?

Решение

Это то, что вы ищете?

http://www.pptfaq.com/FAQ00597.htm

Другие советы

В этом случае панель будет расположена вверху и не позволит ей появиться на первом слайде (в отличие от скрипта pptfaq).:

http://www.faronics.com/news/blog/how-to-add-a-progress-bar-to-powerpoint/

  1. В Power Point перейдите в меню Инструменты > Макрос > Редактор Visual Basic.

  2. В Office 2010 может потребоваться активировать вкладку Разработчик, чтобы перейти к редактору.В версии для Mac вы попадете туда через вкладку Разработчик > Редактор.

  3. Как только вы окажетесь в редакторе, перейдите Вставить> Модуль.

Четыре.Вставьте следующий код в этот вновь созданный модуль:

Sub Presentation_Progress_Marker() 
On Error Resume Next 
With ActivePresentation 
For N = 2 To .Slides.Count
.Slides(N).Shapes(“Progress_Marker”).Delete 
Set s = .Slides(N).Shapes.AddShape(msoShapeRectangle, 0, 0, N * .PageSetup.SlideWidth /.Slides.Count, 10) 
Call s.Fill.Solid
s.Fill.ForeColor.RGB = RGB(23, 55, 94) 
s.Line.Visible = False
s.Name = “Progress_Marker” Next N: End With End Sub

Пять.Закройте редактор.Наконец, запустите макрос:Инструменты>Макрос> Макросы и выберите—Presentation_Progress_Marker.

Как насчет добавления элемента управления индикатором выполнения от Microsoft ?

Поскольку PowerPoint не является приложением реального времени, вы, возможно, не сможете увидеть перемещение индикатора выполнения, если сделаете это с некоторыми фигурами.Иногда вы можете в конечном итоге увидеть только конечный результат - только полную полосу или даже вообще ничего).Напротив, управление индикатором выполнения выполняется в режиме реального времени.(Я признаю, что это немного классический дизайн.)

Вот несколько шагов для кого-нибудь:

  1. Чтобы добавить элемент управления индикатором выполнения, сначала вам нужно добавить форму пользователя в окне VBE (Alt-F11) .(Меню:Вставить - пользовательская форма)

  2. Щелкните правой кнопкой мыши на появившемся окне toolbox и выберите дополнительный элемент управления.Прокрутите вниз и установите флажок "Microsoft Progress Bar Control, версия x.0" (Этот элемент управления предоставляется MSCOMCTL.OCX)

Нажмите кнопку ОК.Теперь вы видите значок индикатора выполнения в конце списка инструментов.Щелкните по нему и нарисуйте индикатор выполнения в UserForm1.Измените размер окна UserForm1.Чем меньше, тем лучше.Вы можете изменить заголовок окна с "UserForm1" на "Выполняется ..." или любое другое сообщение, которое вам нравится, изменив значение заголовка в окне свойств.

  1. Добавьте модуль и добавьте какой-нибудь код, как показано ниже.

Option Explicit
Sub MyJob()

'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", вы получите сообщение об ошибке.Так что будь осторожен.

  1. Кроме того, вы можете изменить форму индикатора выполнения, изменив значения свойств.Например, размер панели, расположение (вверху, слева), минимальное значение (0) или максимальное значение (по умолчанию оно равно 100.Но вы можете изменить его на 50 или любое другое значение.). Вы также можете изменить их программно.

Индикатор выполнения несколько старомоден, но полезен своей более быстрой (?) реакцией, чем созданный пользователем индикатор выполнения типа shape.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top