2012-02-09 20 views
7

Excel'den oluşturulmuş ve powerpoint slaytlarına yapıştırılmış 30 grafiğim var. Her ay, grafiklerin üzerine tıklayarak ve düzenleyerek bu 30 gömülü grafiği güncellemeliyim.Powerpoint'te excel yerleşik grafikler nasıl güncellenir?

Özel yapıştırmayı kullanma seçeneğinin bulunduğunu biliyorum, böylece grafiklerdeki veriler otomatik olarak güncelleme bağlantıları tıklanarak güncelleştirilebilir. Ancak, grafiklerimin bazı kullanıcılar tarafından düzenlenmesi gerekiyor. Özel seçeneği yapıştır, kullanıcıların grafikleri düzenlemesine izin vermez. Bu nedenle, bu özel seçeneği kullanamıyorum.

Çözümün, powerpoint'te bir vba yazmakta olduğunu düşünüyorum. Buradaki tüm uzmanlar, tüm grafiklerin powerpoint'te güncellenmesine izin vermek için bu vba kodunu yazabilir mi? Şu anda powerpoint 2007 kullanıyorum. Yardımınız büyük beğeni topluyor. Sonra açıkça grafikleri düzenleme gerekiyorsa

cevap

14

Eğer altta yatan Excel dosyalarını düzenlemeniz gerekebilir veya PowerPoint

düzenlemek mümkün olacak ya

tam Excel desteği (sağlamaktadır PowerPoint2007 kullandığınız gibi PowerPoint 2003 aksine hangi) veri sayfası vardır isterim her grafiğin altına Excel verilerine

Bölüm 1

  1. Bağlantı Excel dosyası veri
  2. doğrudan bu verileri kullanmak için her yeteneğini verin veya kullanıcı verileri ile-yolculuğu boyunca

Sample

Bu Excel her grafiği altında yatan bir PowerPoint üzerinden otomatik olarak güncellenen edilemez dışında size esnek bir çözüm sunar Menü Bağlantıları Güncelleştir komutu. Her slaytta her şekil bir grafik olan her olmadığını test etmek için aşağıdaki kodu kullanabilirsiniz 2

parçası. bu nedenle bu kod grafiğinin hemen altında Excel dosyasındaki ilk Excel bağlantısını güncellenir Eğer gerekli her türlü VBA kodu olmadan,

Sub ChangeChartData() 

    Dim pptChart As Chart 
    Dim pptChartData As ChartData 
    Dim pptWorkbook As Object 
    Dim sld As Slide 
    Dim shp As Shape 

    For Each sld In ActivePresentation.Slides 
     For Each shp In sld.Shapes 
      If shp.HasChart Then 
       Set pptChart = shp.Chart 
       Set pptChartData = pptChart.ChartData 
       pptChartData.Activate 
       Set pptWorkbook = pptChartData.Workbook 
       On Error Resume Next 
       'update first link 
       pptWorkbook.UpdateLink pptWorkbook.LinkSources(1) 
       On Error GoTo 0 
       pptWorkbook.Close True 
      End If 
     Next 
    Next 

    Set pptWorkbook = Nothing 
    Set pptChartData = Nothing 
    Set pptChart = Nothing 

End Sub 
+0

Hızlı yanıt için teşekkürler. Bu vba'yı kopyaladım ve yapıştırdım ve bu vba çalıştırabiliyor. Ancak, dosyalarımı belgeler klasörümde güncellemeyi isteyen bir açılır menü alıyorum.Benim kaynak i.e excel dosyası benim masaüstü klasöründe bulunur. Açılır menüyü nasıl kaldırırım? Bu vba için çok teşekkürler. – user1199080

+1

Teşekkürler. Vba kodunda ve güncellemelerinde mükemmel bir değişiklik yapıyorum. Bu kod bir hayat kurtarıcıdır. Tekrar teşekkürler. – user1199080

+1

Bu harika bir cevap. Bu da bağlantıları koparabilir mi? – mooseman

2

Bu oldukça kolay gerçekleştirilir (bu kısmı birden çok bağlantı işlemek için tweaked olabilir).

  1. "Office Button" (söz son seçeneği görmek için aşağı kaydırmak zorunda kalacak, bu "Çalıştır Uyumluluğu Kontrol" altında bulunuyor) "Dosya Bağlantıları Düzenle" seçeneğini tıklayın:

    Office Menu, "Prepare" submenu

  2. ("bağlantılar" olarak anılacaktır) tüm gömülü grafikler seç "Şimdi Güncelle":

    "Links" window

Bağlantıları kırmak ve herhangi bir bağlantı için kaynak dosyayı değiştirmek için aynı pencereyi kullanabilirsiniz.

+1

PPT doğrudan Excel'e bağlıysa, ancak bağlantılı Excel dosyaları grafiklerin altında oturuyorsa, bu kullanılabilir – brettdj