2012-02-09 12 views
7

Mam 30 wykresów, które zostały utworzone z programu Excel i zostały wklejone na slajdy PowerPoint. Każdego miesiąca muszę aktualizować te 30 osadzonych wykresów, ręcznie klikając na wykresy i edytując.Jak aktualizować wbudowane wykresy programu Excel w programie PowerPoint?

Zdaję sobie sprawę, że istnieje opcja specjalnego wklejania, dzięki czemu dane na wykresach mogą być aktualizowane automatycznie, klikając linki aktualizacji. Jednak niektóre wykresy wymagają edycji. Opcja wklejania specjalnego nie pozwala użytkownikom na edycję wykresów. Dlatego nie mogę użyć tej specjalnej opcji wklejania.

Myślę, że rozwiązaniem jest pisanie vba w powerpoint. Czy każdy ekspert może zaproponować napisanie tego kodu vba, aby umożliwić aktualizację wszystkich wykresów w programie PowerPoint? Obecnie korzystam z programu PowerPoint 2007. Twoja pomoc jest bardzo doceniana.

Odpowiedz

14

Jeśli chcesz edytować wykresy wtedy wyraźnie będzie to albo trzeba edytować leżące plików Excel, czy można edytować w programie PowerPoint

Jak używasz PowerPoint2007 który zapewnia pełną obsługę Excel (w przeciwieństwie do programu PowerPoint 2003, które ma arkusz) bym

Część 1

  1. link Twój Excel dane pliku z danymi programu Excel pod spodem każdego wykresu
  2. dają możliwość użyć tych danych bezpośrednio lub nad-ride to z danych użytkownika

Sample

Daje to elastyczne rozwiązanie, oprócz tego, że Excel bazowych każdego wykresu nie mogą być aktualizowane automatycznie za pomocą programu PowerPoint menu Polecenie Uaktualnij łącza.

Część 2

Można użyć kodu poniżej, aby sprawdzić, czy każdy kształt każdy na każdego slajdu ma wykres. Jeśli tak, to kod zaktualizuje pierwszy link Excel w pliku Excel poniżej wykresu (ta część może być manipulowane, aby obsłużyć wiele linków)

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

Dzięki za szybką odpowiedź. Miałem skopiować i wkleić to vba w powerpoint i ten vba jest w stanie uruchomić. Jednak otrzymuję wyskakujące menu z pytaniem o aktualizację pliku w moim folderze dokumentów.Moje źródło, tj. Plik Excela, znajduje się w moim folderze na pulpicie. Jak usunąć wyskakujące menu. Wielkie dzięki za vba. – user1199080

+1

Dzięki. Wprowadzam drobną modyfikację kodu vba, a teraz jego aktualizacje są idealnie. Ten kod to ratownik. Dzięki jeszcze raz. – user1199080

+1

To jest świetna odpowiedź. Czy to może także powodować przerwy w linkach? – mooseman

2

Jest to dość łatwo zrobić bez kodu VBA wymagane.

  1. kliknij przycisk "Biuro", wybierz "Edytuj Linki do pliku" (to pod "Run Compatibility Check", trzeba będzie przewinąć w dół, aby zobaczyć tę ostatnią opcję):

    Office Menu, "Prepare" submenu

  2. Zaznacz wszystkie wykresy osadzone (określane tu jako "linki"), kliknij przycisk "Aktualizuj teraz":

    "Links" window

Możesz użyć tego samego okna do przerwania linków, a także do zmiany pliku źródłowego dla dowolnego linku.

+1

Można tego użyć, jeśli PPT jest połączony bezpośrednio z programem Excel, ale nie, jeśli połączone pliki Excel znajdują się pod wykresami – brettdj

Powiązane problemy