Excel dosyasındaki grafiklerin Sunuma otomatik yapıştırılması

Sena Aydeniz tarafından yayınlanmıştır 17. Şubat 2010 03:16

Merhabalar,

Excel dosyasındaki figür veya verilerin sunuma otomatik olarak kopyalanması için basit bir macro. Umarım işinizi görür.

 

Sub GrafikKopyala()
    Dim ppApp As PowerPoint.Application
    Dim ppSlide As PowerPoint.Slide
    Dim SheetName As String      'name of sheet in Excel that contains the range or chart to copy
    Dim TestRange As Range
    Dim TestSheet As Worksheet
    Dim TestChart As ChartObject
    Dim PasteChart As Boolean   'If True then routine will  copy and paste a chart
    Dim PasteChartLink As Boolean 'If True then Routine will paste chart with Link; if = False then paste chart no link
    Dim ChartNumber As Long 'Chart Object Number
    Dim PasteRange As Boolean   '- If True then Routine will copy and Paste a range
    Dim RangePasteType As String    '- Paste as Picture linked or unlinked, "HTML" or "Picture". See routine below for exact values
    Dim RangeName As String '- Address or name of range to copy; "B3:G9" "MyRange"
    Dim AddSlidesToEnd As Boolean
    Dim Baslik()
    Dim TabloIsim()
    Dim Sehir() As String
    Dim DosyaIsim
    'Dim SehirSayisi As Integer
    Dim SlideNumber As Integer
    Dim SheetNo As Integer
    'Dim GecenAyTarih As Date
    'Dim AyNo As Integer
    'Dim Ay As String
    'SehirSayisi = 1
    'SlideNumber = 3
    Set ppApp = CreateObject("PowerPoint.Application")
    ppApp.Visible = msoTrue 'ppt penceresini visible yapar aksi halde fileopen olmaz
    ppApp.Presentations.Open Filename:= _
        "file://Tcjumbo/cno-rapor/Rapor_168/2009/Sunum.ppt", ReadOnly:=msoFalse
    RangePasteType = "Picture (Enhanced Metafile)"
    RangeLink = False 'True
    PasteChart = True
    PasteChartLink = False 'True
    AddSlidesToEnd = True
    ppApp.Visible = True
   For SlideNumber = 2 To 16 'veri yapıştırılacak sayda sayısı.
  
  
        If SlideNumber = 2 Then SlideNumber = SlideNumber + 1 'eger bu sayfaya orjinal dosyadan birse yapıştırmıyorsak,diğer sayfaya geçmesi için.
        If SlideNumber = 3 Then Bolge = "30"  ' "30" diye gözüken isim excel dosyasında sheet  adıdır.
        If SlideNumber = 4 Then Bolge = "31a"
        If SlideNumber = 5 Then Bolge = "APN"
        If SlideNumber = 6 Then SlideNumber = SlideNumber + 1
        If SlideNumber = 7 Then SlideNumber = SlideNumber + 1
        If SlideNumber = 8 Then SlideNumber = SlideNumber + 1
        If SlideNumber = 9 Then Bolge = "MultislotUtil"
        If SlideNumber = 10 Then Bolge = "PS Accessibility"
        If SlideNumber = 11 Then Bolge = "llc_int"
        If SlideNumber = 12 Then Bolge = "pdch usage"
        If SlideNumber = 13 Then Bolge = "latency"
        If SlideNumber = 14 Then Bolge = "Access"
        If SlideNumber = 15 Then Bolge = "Retain"
        If SlideNumber = 16 Then SlideNumber = SlideNumber + 1
   
                   
        k = 0
            If k = 0 Then DosyaAdi = "excel_dosya"
            Workbooks(DosyaAdi).Activate
            Sheets(Bolge).Select
            Range("A1").Select
            ppApp.ActiveWindow.View.GotoSlide SlideNumber
            Set ppSlide = ppApp.ActiveWindow.View.Slide
            Worksheets(Bolge).Range("A1:m27").Copy
            ppSlide.Shapes.PasteSpecial ppPasteEnhancedMetafile
            ppSlide.Shapes(ppSlide.Shapes.Count).Select  'hangi boyutlarda veri yapıştırmak istiyorsanız, on
            ppSlide.Shapes(ppSlide.Shapes.Count).Width = 700
            ppSlide.Shapes(ppSlide.Shapes.Count).Top = 90
            ppSlide.Shapes(ppSlide.Shapes.Count).Left = 10
        Next
    
                 
    
    Application.DisplayAlerts = False
    AppActivate ("Microsoft PowerPoint")
    ppApp.ActivePresentation.SaveAs "Sunum2.ppt"
    ppApp.Quit
    Application.DisplayAlerts = True
    Set ppSlide = Nothing
    Set ppApp = Nothing
End Sub

 

 

 

5 kişi tarafından 4.4 olarak değerlendirildi

  • Currently 4,4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler: , , ,

Macro



Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.