Powerpoıntte VBA

mervew (1) 7 yıl önce sordu

Merhaba sevgili arkadaşlar,

Bir süredir üzerinde çalıştığım bir dosya var, size yapmam gerekenleri yazmak istiyorum, yapabilmem için herhangi birinde fikir verebilirseniz çok sevinirim.

-Öncelikle bir komut penceresi açmak istiyorum
-bu pencereye bir sayfa numarası girildiğinde o sayfadan itibaren olan slaytları tek tek pdf dosyası olarak kaydetmek istiyorum.

Yardımlarınız için şimdiden teşekkür ederim. 

Toplam 1 cevap


hakan (15432) 7 yıl önce cevapladı

Aşağıdaki kodlar Stackoveflow'dan alıntıdır. Şu kod sunum içindeki tüm sayfaları  pdf olarak kaydediyormuş:

Sub ExportSlidesToIndividualPDF()
Dim oPPT As Presentation, oSlide As Slide
Dim sPath As String, sExt As String

Set oPPT = ActivePresentation
sPath = oPPT.FullName & "_Slide_"
sExt = ".pdf"

For Each oSlide In oPPT.Slides
    i = oSlide.SlideNumber
    oSlide.Select
    oPPT.ExportAsFixedFormat _
        Path:=sPath & i & sExt, _
        FixedFormatType:=ppFixedFormatTypePDF, _
        RangeType:=ppPrintSelection
Next
Set oPPT = Nothing
End Sub

Şu koddada kullanıcıdan veri almak ile ilgili bir örnek var. İkisini birşeltirirseniz istediğiniz olur sanırım. 

Sub answer()
    Dim lCurrentView As Long
    Dim myInput As String
    Dim sld As Slide
    Set sld = Application.ActiveWindow.View.Slide
    myInput = sld.Shapes(4).TextFrame.TextRange.Text
    A = InputBox(prompt:="Your Answer:")
    MsgBox (myInput)
    If A = myInput Then
        MsgBox ("Correct!")
        ActivePresentation.SlideShowWindow _
        .View.GotoSlide Int(Rnd * _
        ActivePresentation.Slides.Count) + 1
    Else
        MsgBox ("Sorry, try again...")
    End If
End Sub