vbawindowspowerpointpowerpoint-2010

How can I insert a special character as bullet point in powerpoint, when it is not part of the menu?


I'd like to make the special character with the character code 25B0, which is 9648 in Unicode, become my bullet Point in PowerPoint. But it seems to be not part of the special characters menu in PowerPoint - I couldn't find it on Arial, Webdings, Wingdings 1-3 ... Is there any way to find/get it in there? Importing it as a picture is no useful alternative in my special case. Thank you for any ideas. (I work with PowerPoint 2010.)

The above would be my favourite solution. If not possible this way, I could think of a solution via VBA. Is there a possibilty to let the body text placeholder know, I want to use the special character 9648 on the second bullet level and the character 9649 on the third level?

This ist the code, I mentioned in my first answer to Steve:

Sub Bullets()
Dim Shp As Shape
Dim sld As Slide
Dim i As Integer
Set sld = Application.ActiveWindow.View.Slide
Set Shp = sld.Shapes.AddShape(Type:=msoShapeRectangle, Left:=416.97612, Top:=160.44084, Width:=323.9998, Height:=283.46439)
With Shp
.Fill.Visible = msoFalse
.Line.Visible = msoFalse
With .TextFrame
.TextRange.Text = "Text 1" & vbCrLf & "Text 2" & vbCrLf & "Text 3"
.VerticalAnchor = msoAnchorTop
.MarginBottom = "10"
.MarginLeft = "10"
.MarginRight = "10"
.MarginTop = "10"
.WordWrap = msoTrue
With .TextRange
.Font.Size = 14
.Font.Name = "Arial"
.Font.Color.RGB = RGB(0, 0, 0)
.ParagraphFormat.Alignment = ppAlignLeft
.ParagraphFormat.Bullet.UseTextColor = msoFalse
.ParagraphFormat.Bullet.UseTextFont = msoFalse
.ParagraphFormat.Bullet.Font.Color.RGB = RGB(9, 91, 164)
.Characters(1, 6).Font.Bold = msoTrue
            For i = 2 To 3
With .Paragraphs(i).ParagraphFormat.Bullet
.Visible = msoTrue
End With
            Next
With .Paragraphs(2)
.IndentLevel = 2
.ParagraphFormat.Bullet.Character = 9648
.ParagraphFormat.Bullet.RelativeSize = 1
End With
With .Paragraphs(3)
.IndentLevel = 3
.ParagraphFormat.Bullet.Character = 9649
.ParagraphFormat.Bullet.RelativeSize = 1
End With
End With
With .Ruler
 .Levels(2).FirstMargin = 14.173219
 .Levels(2).LeftMargin = 28.346439
 .Levels(3).FirstMargin = 28.346439
 .Levels(3).LeftMargin = 42.519658
End With
End With
.Select (msoFalse)
End With
End Sub

Solution

  • Not all fonts have all glyphs in the entire Unicode space occupied. There is a VBA solution but you should be able to do it with the UI by opening the Insert / Symbol dialog picking a decently populated Unicode don't e.g. Arial Unicode and typing the glyph's code into the character field.

    In VBA you can set the bullet character with something like this:

     TextRange.Paragraphs(1).ParagraphFormat.Bullet.Character
    

    But you need to set the relevant font too.

    If using the UI, you set the font in the top left drop down (Arial Unicode MS in the example shown) and then type the glyph's code in Hex in the Character code field in the bottom right (25D5 in the screen shot).

    enter image description here