2012-02-29 3 views

ответ

0

У вас не получилось бы PPT сделать это за вас автоматически, но вы можете запустить небольшой код, который добавляет текстовое поле для каждого слайда и в текстовое поле, поместите номер слайда, преобразованный в шестнадцатеричный.

Что-то вроде этого:

Dim oSl as Slide 
Dim oSh as Shape 

For each oSl in ActivePresentation.Slide 
    Call DeleteHexNumber(oSl) 
    ' change coordinates to suit: 
    Set oSh = oSl.Shapes.AddTextbox(msoTextOrientationHorizontal,10,10,200,50) 
    Osh.Tags.Add "HexNumber", "Whatever" 
    With oSh.TextFrame.TextRange 
    .Text = Cstr(Hex(oSl.SlideNumber)) 
    End With 
Next 

Sub DeleteHexNumber(oSl as Slide) 
    Dim oSh as Shape 
    Dim x as Long 
    For x = oSl.Shapes.Count to 1 Step -1 
    if Len(oSl.Shapes(x).Tags("HexNumber")) > 0 Then 
     oSl.Shapes(x).Delete 
    End If 
    Next 
End Sub 

Как отредактировано: Теперь тегов формы номера страницы, когда он создает его, но прежде чем он создает ее, она ищет любые существующие страницы количества форм (путем проверки соответствия тегов) и сначала удаляет их.

+0

Если я снова запустил сценарий, будет создан другой набор текстовых полей. Есть ли способ найти и удалить все выходящие текстовые поля или обновить существующие текстовые поля? –

Смежные вопросы