Страницы: 1
RSS
VBA. Доступ к обьектам другого слайда., VBA PowerPoint
 
Добрый день!

Помогите пожалуйста. Запуталась.
Есть 2 слайда. 1 титульный. 2 - рабочий. На 2 слайде есть кнопка "добавить".

Мне нужно, при нажатии на эту кнопку :
1. Добавить сумму у глобальной переменной Sum
2. Сделать эту кнопку не активной
3. Перейти на 1 лист.
4. На 1 листе - загрузить картинку (в дальнейшем буду обрабатывать какую картинку загружать, в зависимости от суммы).
5. На 1 листе - вывести эту сумму.

Отрабатывает изменение картинки  и вывод суммы на 2 слайде, а на 1 слайде ничего не меняется. Помогите пожалуйста.Файл приложила
Код
Private Sub CommandButton2_Click() 
Dim oIm1 As Image 
Dim oSl As Slide 
Dim ppt As Presentation 
Dim A As Shapes 

Sum = Sum + 10 
'на текущем слайде 
CommandButton2.Enabled = False 
Label2.Caption = Str(Sum) 
Image1.Picture = LoadPicture("C:\Сундук711.jpg") 

SlideShowWindows(1).View.First 

далее закомментировала варианты, не получается никак! 
'ActivePresentation.Slides(1).Select 

'Set A = ActiveWindow.Selection.ShapeRange 
'ActivePresentation.Slides(1).Shapes("Image2") 
' A.Image2.Picture = LoadPicture("C:\Сундук711.jpg") 

' Label1.Caption = Str(Sum) 
' TextBox1.Text = Str(Sum) 
End Sub
 
1. Название темы должно отражать суть задачи. Предложите новое. Модераторы заменят.
2. Код в сообщении следует оформлять с помощью кнопки <...> Это уже сами.
3. Файла нет. Объем вложения не более 100 кБ. Прикрепите пример (рабочий файл не нужен) к первому сообщению.
 
Olgalun, конечно тут много специалистов по VBA, но форум не по Power Point. Даже ветка называется, вопросы по MS Excel.
Но дам наводку https://msdn.microsoft.com/en-us/vba/powerpoint-vba/articles/shapes-addpicture-method-powerpoint
Изменено: БМВ - 08.12.2017 21:18:55
По вопросам из тем форума, личку не читаю.
 
Точно, не обратил внимания.
4. Вопрос не по тематике форума.
5. На этом форуме один вопрос - одна тема. Коплексно - в платном разделе
 
БМВ, спасибо. В этой ветке были вопросы по pointer, поэтому спросила. Спасибо, посмотрю.
 
Пример кода в VBA-модуле Slide2:
Код
Option Explicit

Dim sum As Long

Private Sub CommandButton1_Click()
  
  ' Установка начального состояния
  sum = 0
  Slide2.CommandButton2.Enabled = True
  Set Slide1.Image2.Picture = Nothing
  Slide1.Label1.Caption = "Label1"
  Slide1.TextBox1.Value = ""

End Sub

Private Sub CommandButton2_Click()
  
  ' Изменить значение глобальной переменой
  sum = sum + 10

  ' Сделать неактивной кнопку на текущем слайде
  Me.CommandButton2.Enabled = False

  ' Отобразить слайд 1
  SlideShowWindows(1).View.GotoSlide 1

  ' Загрузить картинку в Image2 слайда 1 в зависимости от значения sum
  Select Case sum
    Case 10: Slide1.Image2.Picture = LoadPicture("C:\Сундук711.jpg")
    Case 20: Slide1.Image2.Picture = LoadPicture("C:\Сундук712.jpg")
    Case Else: Set Slide1.Image2.Picture = Nothing
  End Select

  ' Отобразить значение sum в Slide1.Label1 и Slide1.TextBox1
  Slide1.Label1.Caption = sum
  Slide1.TextBox1.Value = sum
  
End Sub
 
ZVI, спасибо Вам большое! Я программист, но не пишу на VBA. Подошла учительница, попросила поправить презентацию. Взялась, а времени даже почитать нет. Попробовала так, сяк, не получается. Кое-что конечно сделала, но не полностью. Поэтому попросила помощи. Огромное Вам спасибо!!!!
Страницы: 1
Наверх