Cirrus
02-28-2008, 02:01 PM
Let me begin with my ultimate question and then provide some background:
How do you apply a tag to multiple slides?
and now some background:
I work at a computer engineering firm in the marketing department. We use powerpoint to create sales presentations for various departments in the company. Specifically in my sector we use 4 specific types of Sales Presentations (Divisional, Application, Product Line, and New Product).
Basically, my boss wants to compile a master slide show that can filter slides based on those 4 criteria.
activepresentation.Slides(2).Tags.Add "Marketing", "Divisional"
activepresentation.Slides(3).Tags.Add "Marketing", "Application"
activepresentation.Slides(4).Tags.Add "Marketing", "Product Line"
activepresentation.Slides(5).Tags.Add "Marketing", "New Product"
My solution was to use tags to designate each slide into one of the 4 categories. Then, I hid all the slides. A UserForm then pops up which allows you to check which slide set you want to see based on their tags.
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Divisional" Then
s.SlideShowTransition.Hidden = msoFalse
End If
Next
End If
If CheckBox1.Value = False Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Divisional" Then
s.SlideShowTransition.Hidden = msoTrue
End If
Next
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Application" Then
s.SlideShowTransition.Hidden = msoFalse
End If
Next
End If
If CheckBox2.Value = False Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Application" Then
s.SlideShowTransition.Hidden = msoTrue
End If
Next
End If
End Sub
Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Product Line" Then
s.SlideShowTransition.Hidden = msoFalse
End If
Next
End If
If CheckBox3.Value = False Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Product Line" Then
s.SlideShowTransition.Hidden = msoTrue
End If
Next
End If
End Sub
Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "New Product" Then
s.SlideShowTransition.Hidden = msoFalse
End If
Next
End If
If CheckBox4.Value = False Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "New Product" Then
s.SlideShowTransition.Hidden = msoTrue
End If
Next
End If
End Sub
Private Sub CommandButton1_Click()
With activepresentation.SlideShowSettings.Run.View
End With
End Sub
This solution works well for a few slides but I will soon be working with over 100 slides and will need to tag multiple slides with the same tags. How can I do this efficiently?
How do you apply a tag to multiple slides?
and now some background:
I work at a computer engineering firm in the marketing department. We use powerpoint to create sales presentations for various departments in the company. Specifically in my sector we use 4 specific types of Sales Presentations (Divisional, Application, Product Line, and New Product).
Basically, my boss wants to compile a master slide show that can filter slides based on those 4 criteria.
activepresentation.Slides(2).Tags.Add "Marketing", "Divisional"
activepresentation.Slides(3).Tags.Add "Marketing", "Application"
activepresentation.Slides(4).Tags.Add "Marketing", "Product Line"
activepresentation.Slides(5).Tags.Add "Marketing", "New Product"
My solution was to use tags to designate each slide into one of the 4 categories. Then, I hid all the slides. A UserForm then pops up which allows you to check which slide set you want to see based on their tags.
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Divisional" Then
s.SlideShowTransition.Hidden = msoFalse
End If
Next
End If
If CheckBox1.Value = False Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Divisional" Then
s.SlideShowTransition.Hidden = msoTrue
End If
Next
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Application" Then
s.SlideShowTransition.Hidden = msoFalse
End If
Next
End If
If CheckBox2.Value = False Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Application" Then
s.SlideShowTransition.Hidden = msoTrue
End If
Next
End If
End Sub
Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Product Line" Then
s.SlideShowTransition.Hidden = msoFalse
End If
Next
End If
If CheckBox3.Value = False Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "Product Line" Then
s.SlideShowTransition.Hidden = msoTrue
End If
Next
End If
End Sub
Private Sub CheckBox4_Click()
If CheckBox4.Value = True Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "New Product" Then
s.SlideShowTransition.Hidden = msoFalse
End If
Next
End If
If CheckBox4.Value = False Then
For Each s In activepresentation.Slides
If s.Tags("marketing") = "New Product" Then
s.SlideShowTransition.Hidden = msoTrue
End If
Next
End If
End Sub
Private Sub CommandButton1_Click()
With activepresentation.SlideShowSettings.Run.View
End With
End Sub
This solution works well for a few slides but I will soon be working with over 100 slides and will need to tag multiple slides with the same tags. How can I do this efficiently?