Como mesclar vários arquivos de powerpoint em um arquivo?

0

Existe uma maneira fácil de combinar vários arquivos de PowerPoint em um único arquivo?

Em ms dos arquivos binários, você pode copiá-los usando / b ou de acordo com esta questão SO apenas use copy

 copy /b <source1> + <source2> [....] <targetfile>
 // or
 copy *.csv new.csv

Eu tentei o mais tarde copy *.pptx new.pptx , mas isso não funcionou - o pptx resultante estava vazio. A primeira abordagem usando copy /b requer a entrada de cada nome de arquivo que é complicado e eu não tentei.

Você tem alguma idéia de como eu poderia sovle isso?

    
por threeFourOneSixOneThree 26.05.2016 / 09:03

1 resposta

1

Sim, você pode, mas você não pode fazer isso com o Binary Appending.

Por que ... ??
Porque um CSV é um arquivo de valores separados por vírgula, que permite que os dados sejam salvos em um formato estruturado de tabela. Os CSVs parecem uma planilha de jardim, mas com uma extensão .csv. Então, quando você os adiciona, você ainda pode usá-los no Excel. Mas o .pptx tem formatos diferentes que não são tão simples. portanto, o acréscimo binário não funcionará.

O código a seguir inserirá todos os slides de todas as apresentações na mesma pasta como a apresentação ativa no momento (mas não tentará inserir slides da apresentação atual em em si). (pessoalmente testado)

Siga os passos:

  1. Crie uma nova pasta.
  2. Para anexar Arquivos Mutiple, salve o arquivo atual na nova pasta em que deseja inserir slides de outros arquivos.

  3. Copie todos os outros arquivos .pptx ou .ppt para a nova pasta Abra o documento no qual você deseja adicionar arquivos.

  4. Agora pressione ALT + F11 para iniciar o editor do VBA.

  5. Ou escolha Arquivo | Opções | Personalize a Faixa de Opções e coloque uma marca de seleção ao lado de Desenvolvedor na caixa de listagem em Personalizar Faixa de Opções. Feche a caixa de diálogo de opções, clique no Na guia Desenvolvedor, clique em Visual Basic para iniciar o editor.

  6. No editor do VBA, certifique-se de que sua apresentação esteja destacada no painel esquerdo.
    Escolha Inserir, Módulo na barra de menus para inserir um novo módulo de código em seu projeto.

  7. Cole este código & Altere " *.PPT " para " *.PPTX " ou o que for necessário, se necessário

    Sub InsertAllSlides()
    '  Insert all slides from all presentations in the same folder as this one
    '  INTO this one; do not attempt to insert THIS file into itself, though.
    
        Dim vArray() As String
        Dim x As Long
    
        ' Change "*.PPT" to "*.PPTX" or whatever if necessary:
        EnumerateFiles ActivePresentation.Path & "\", "*.PPT", vArray
    
        With ActivePresentation
            For x = 1 To UBound(vArray)
                If Len(vArray(x)) > 0 Then
                    .Slides.InsertFromFile vArray(x), .Slides.Count
                End If
            Next
        End With
    
    End Sub
    
    Sub EnumerateFiles(ByVal sDirectory As String, _
        ByVal sFileSpec As String, _
        ByRef vArray As Variant)
        ' collect all files matching the file spec into vArray, an array of strings
    
        Dim sTemp As String
        ReDim vArray(1 To 1)
    
        sTemp = Dir$(sDirectory & sFileSpec)
        Do While Len(sTemp) > 0
            ' NOT the "mother ship" ... current presentation
            If sTemp <> ActivePresentation.Name Then
                ReDim Preserve vArray(1 To UBound(vArray) + 1)
                vArray(UBound(vArray)) = sDirectory & sTemp
            End If
            sTemp = Dir$
        Loop
    
    End Sub
    
  8. Para garantir que não haja sérios problemas de sintaxe no código, escolha Depurar, Compilar na barra de menus.
  9. Se houver um erro, verifique o código novamente, caso contrário, clique no botão Executar.
  10. os slides serão adicionados ao documento aberto.

NOTA: Imagens de fundo & alguns outros elementos não são adicionados quando slides são adicionados a partir de outro arquivo.

Veja & Saiba mais de:

por 26.05.2016 / 09:23