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.
Aşağıdaki kodlar Stackoveflow'dan alıntıdır. Şu kod sunum içindeki tüm sayfaları pdf olarak kaydediyormuş:
Sub ExportSlidesToIndividualPDF()\nDim oPPT As Presentation, oSlide As Slide\nDim sPath As String, sExt As String\n\nSet oPPT = ActivePresentation\nsPath = oPPT.FullName & \"_Slide_\"\nsExt = \".pdf\"\n\nFor Each oSlide In oPPT.Slides\n i = oSlide.SlideNumber\n oSlide.Select\n oPPT.ExportAsFixedFormat _\n Path:=sPath & i & sExt, _\n FixedFormatType:=ppFixedFormatTypePDF, _\n RangeType:=ppPrintSelection\nNext\nSet oPPT = Nothing\nEnd Sub
Şu koddada kullanıcıdan veri almak ile ilgili bir örnek var. İkisini birşeltirirseniz istediğiniz olur sanırım.
Sub answer()\n Dim lCurrentView As Long\n Dim myInput As String\n Dim sld As Slide\n Set sld = Application.ActiveWindow.View.Slide\n myInput = sld.Shapes(4).TextFrame.TextRange.Text\n A = InputBox(prompt:=\"Your Answer:\")\n MsgBox (myInput)\n If A = myInput Then\n MsgBox (\"Correct!\")\n ActivePresentation.SlideShowWindow _\n .View.GotoSlide Int(Rnd * _\n ActivePresentation.Slides.Count) + 1\n Else\n MsgBox (\"Sorry, try again...\")\n End If\nEnd Sub
","url":"https://uzmanim.net/soru/powerpointte-vba/74918#a74925","author":{"@type":"Person","name":"hakan"},"comment":[],"commentCount":0,"dateCreated":"2017-01-21T12:33:13.987+03:00","dateModified":"2017-01-21T12:33:13.987+03:00","text":"Aşağıdaki kodlar Stackoveflow'dan alıntıdır. Şu kod sunum içindeki tüm sayfaları pdf olarak kaydediyormuş:
Sub ExportSlidesToIndividualPDF()\nDim oPPT As Presentation, oSlide As Slide\nDim sPath As String, sExt As String\n\nSet oPPT = ActivePresentation\nsPath = oPPT.FullName & \"_Slide_\"\nsExt = \".pdf\"\n\nFor Each oSlide In oPPT.Slides\n i = oSlide.SlideNumber\n oSlide.Select\n oPPT.ExportAsFixedFormat _\n Path:=sPath & i & sExt, _\n FixedFormatType:=ppFixedFormatTypePDF, _\n RangeType:=ppPrintSelection\nNext\nSet oPPT = Nothing\nEnd Sub
Şu koddada kullanıcıdan veri almak ile ilgili bir örnek var. İkisini birşeltirirseniz istediğiniz olur sanırım.
Sub answer()\n Dim lCurrentView As Long\n Dim myInput As String\n Dim sld As Slide\n Set sld = Application.ActiveWindow.View.Slide\n myInput = sld.Shapes(4).TextFrame.TextRange.Text\n A = InputBox(prompt:=\"Your Answer:\")\n MsgBox (myInput)\n If A = myInput Then\n MsgBox (\"Correct!\")\n ActivePresentation.SlideShowWindow _\n .View.GotoSlide Int(Rnd * _\n ActivePresentation.Slides.Count) + 1\n Else\n MsgBox (\"Sorry, try again...\")\n End If\nEnd Sub
","upvoteCount":0},"upvoteCount":0}}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
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