2012-02-29 66 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

如果我再次運行該腳本,則會創建另一組文本框。有沒有辦法找到並刪除所有正在退出的文本框或更新現有的文本框? – 2012-03-19 20:57:15