Notifications
Clear all

MACRO PARA ATUALIZAR VINCULO DO EXCEL NO PPT

5 Posts
2 Usuários
0 Reactions
5,633 Visualizações
(@fdsouza)
Posts: 3
New Member
Topic starter
 

Boa noite meu amigo, estou precisando de ajuda. Elaborei no meu trabalho uma planilha em excel que contém três abas, uma com dados que alimentam dois gráficos (indicadores) diferentes nas outras duas abas, cada um desses gráficos foram vinculados (colados com vinculo) a duas apresentações do PowerPoint (uma para cada gráfico) que ficam em modo de apresentação em dois televisores (um para cada apresentação). Os três arquivos ficam na mesma pasta na rede, a planilha de excel está compartilhada, tudo bonitinho, o problema é que os dados do excel são atualizados varias vezes por dia porém o PowerPoint só atualiza manualmente, ou seja, o usuário tem que ir na máquina ligada aos televisores, sair do modo apresentação, clicar no slide com o botão direito do rato e atualizar o vinculo e depois retornar para o modo de apresentação. Isso é desconfortável, gostaria de saber se existe alguma macro para atualizar os vínculos no PowerPoint automaticamente de tempo em tempo ao longo do dia, tipo a cada 30 minutos já é o suficiente, sem a necessidade do usuário ir manualmente executar a função. Desde já te agradeço muito meu amigo.
Grande abraço.

 
Postado : 28/01/2014 4:45 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Não testado

Sub Teste()
    Dim i As Long
    Dim j As Long
    Dim sCount As Integer
    For i = 1 To ActivePresentation.Slides.Count
        For j = 1 To ActivePresentation.Slides(i).Shapes.Count
            If ActivePresentation.Slides(i).Shapes(j).Type = msoLinkedOLEObject Then
                With ActivePresentation.Slides(i).Shapes(j).LinkFormat
                    .SourceFullName = "I:Arquivo.xls"
                    .AutoUpdate = ppUpdateOptionAutomatic
                    .Update
                End With
            End If
        Next j
    Next i
End Sub

Sub Teste2() 
    Dim osld As Slide 
    Dim oshp As Shape 
    For Each osld In ActivePresentation.Slides 
        For Each oshp In osld.Shapes 
            If oshp.Type = msoLinkedOLEObject Then 
                oshp.LinkFormat.Update 
            Next oshp 
        Next osld 
    End Sub 

Leia:
http://www.pptfaq.com/FAQ00368_Automate ... so_on-.htm

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 28/01/2014 5:12 pm
(@fdsouza)
Posts: 3
New Member
Topic starter
 

Boa noite Alexandre.
Primeiramente quero agradecer pela atenção e por ter se disponibilizado a me ajudar. Testei os códigos porem o primeiro apareceu erro de compilação: "for se next" e no segundo também apareceu erro de compilação: "next sem for". Peço desculpas pela minha ignorância mas não entendo nada sobre macro tenho pesquisado muito nas ultimas semanas para solucionar esse gap no trabalho. Se puder me ajudar meu amigo te agradeço muito.
Grande abraço.

 
Postado : 31/01/2014 6:16 pm
(@fdsouza)
Posts: 3
New Member
Topic starter
 

Meu amigo Alexandre, retificando a mensagem anterior consegui colar os códigos inserindo um módulo direto no visual basic porem apareceu outra mensagem de erro: "erro em tempo de execução: '-2147467259(80004005)': o método 'sourceFullName do objeto 'LinkFormat' falhou".

 
Postado : 31/01/2014 6:33 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Leia:
http://support.microsoft.com/kb/942385/pt-br

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 31/01/2014 6:43 pm