Envio de dados do Excel para uma apresentação do PowerPoint

Tem sido dito que até 50 por cento de apresentações do PowerPoint contêm dados que foram copiados para fora do Excel. Esta afirmação não é difícil de acreditar. Muitas vezes é muito mais fácil de analisar e criar gráficos e dados vistas em Excel que no PowerPoint. Após essas cartas e os dados vistas foram criados, por que você não simplesmente movê-los em PowerPoint? A macro nesta seção lhe permite criar dinamicamente slides do PowerPoint que contêm dados de um intervalo especificado.

Você pode baixar um exemplo de trabalho de o envio de dados do Excel para o PowerPoint.

Como as obras de macro

Neste exemplo, você copiar um intervalo de um arquivo Excel e colar que vão a um slide em uma apresentação PowerPoint recém-criado.

Tenha em mente que, porque este código será executado a partir de Excel, você precisa definir uma referência à biblioteca de objetos do Microsoft PowerPoint. Você pode definir a referência ao abrir o Editor do Visual Basic no Excel e escolher ferramenta de referências. Desça até encontrar a entrada do Microsoft PowerPoint xx Object Library, onde o xx é a sua versão do PowerPoint. Coloque uma verificação na caixa de seleção ao lado da entrada.

Sub CopyRangeToPresentation () 'Passo 1: Declare seu variablesDim PP Como PPPres PowerPoint.ApplicationDim Como PowerPoint.PresentationDim PPSlide Como PowerPoint.SlideDim SlideTitle Como String'Step 2: Abra o PowerPoint e criar novos presentationSet PP = Novo PowerPoint.ApplicationSet PPPres = PP.Presentations .AddPP.Visible = True'Step 3: Adicionar um novo slide como slides 1 e define o foco para sob o estalinismo PPSlide = PPPres.Slides.Add (1, ppLayoutTitleOnly) PPSlide.Select'Step 4: Copie o intervalo como um pictureSheets ( "slide dados ") .Range (" A1:. J28 ") CopyPicture _Appearance: = xlScreen, Formato: = xlPicture'Step 5: colar a imagem e ajustar a sua positionPPSlide.Shapes.Paste.SelectPP.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, TruePP .ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True'Step 6: Adicione o título para o "slide My First PowerPoint" slideSlideTitle = PPSlide.Shapes.Title.TextFrame.TextRange.Text = SlideTitle'Step 7: Memória CleanupPP.ActivateSet PPSlide = NothingSet PPPres = NothingSet PP = NothingEnd sub

Na Etapa 1, você declara quatro variáveis: PP é uma variável de objeto que expõe o objeto de aplicativo PowerPoint, PPPres é uma variável de objeto que expõe o objeto de apresentação do PowerPoint, PPSlide é uma variável de objeto que expõe o objeto PowerPoint Slide, e SlideTitle é uma string variável usada para passar o texto para o título do slide.

Passo 2 abre PowerPoint com uma apresentação vazia. Note que você definir a propriedade Visible do aplicativo PowerPoint como True para garantir que você pode ver a ação como o código é executado.

Na Etapa 3, você adiciona um novo slide para a apresentação usando o método Add do objeto Slide. Note-se que você está usando ppLayoutTitleOnly, garantindo que o slide é criado com um quadro de texto título. Você, então, dar um passo extra e define o foco no slide. Ou seja, você diga explicitamente PowerPoint para seleccionar este slide, tornando-se ativo.

Na etapa 4, você usa o método CopyPicture para copiar o intervalo de destino como uma imagem. A faixa que está sendo copiado aqui é intervalo A1 para J28 na guia Slide dados.

Passo 5 cola a imagem no slide ativo e centraliza a imagem horizontalmente e verticalmente.

Na etapa 6, você armazenar o texto para o título em uma variável de cadeia, e depois passar essa variável para PowerPoint para aplicar o texto para o quadro de texto título.

Na etapa 7, você libera os objetos atribuídos a suas variáveis, reduzindo a chance de problemas causados ​​por objetos rouge que podem permanecer abertos na memória.

Como usar o macro

Para implementar essa macro, você pode copiar e colá-lo em um módulo padrão:

  1. Ative o Editor do Visual Basic pressionando Alt + F11.

  2. Na janela Project, encontrar o seu nome do projeto / livro.

  3. Escolha Inserir-Module.

  4. Digite ou cole o código.

menu