2011-11-07 44 views
1

我正在使用以下VBA代碼將PPT幻燈片導出爲圖像。問題在於,對於幻燈片1到9,文件名只有一個字符(例如:「1.png」)。我需要前九張幻燈片的文件名中包含兩個字符(例如:「01.png」)以匹配後面的幻燈片(例如:「10.png」)。VBA:我如何獲得此代碼只能寫入2位數的文件名?

我該如何做到這一點?

在此先感謝!

Sub Save_PowerPoint_Slide_as_Images() 

Dim sImagePath As String 
Dim sImageName As String 
Dim oSlide As Slide '* Slide Object 
Dim lScaleWidth As Long '* Scale Width 
Dim lScaleHeight As Long '* Scale Height 
On Error GoTo Err_ImageSave 

For Each oSlide In ActivePresentation.Slides 
sImageName = oSlide.SlideNumber & ".png" 
oSlide.Export sImagePath & sImageName, "PNG" 
Next oSlide 

Err_ImageSave: 
If Err <> 0 Then 
MsgBox Err.Description 
End If 
End Sub 

Function sImagePath() As String 
sImagePath = ActivePresentaion.Path 
End Function 

回答

3

嘗試使用Format

sImageName = Format(oSlide.SlideNumber, "00") & ".png" 
+0

,完美的工作。謝謝! –

+0

感謝您的快速關閉:) – brettdj

+2

一個小問題:您可能想要使用Slide.Index而不是Slide.Number。 Slide.Number爲您提供使用幻燈片頁腳時打印的號碼,用戶可以在頁面設置中更改起始號碼。第一張幻燈片可能有一個Slide.Number爲0或任何其他隨機事物。如果您使用Slide.Index,第一張幻燈片將始終爲1,第二張將爲2,依此類推。 –

相關問題