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:
- Crie uma nova pasta.
-
Para anexar Arquivos Mutiple, salve o arquivo atual na nova pasta em que deseja inserir slides de outros arquivos.
-
Copie todos os outros arquivos .pptx ou .ppt para a nova pasta Abra o documento no qual você deseja adicionar arquivos.
-
Agora pressione ALT + F11 para iniciar o editor do VBA.
-
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.
-
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. -
Cole este código & Altere "
*.PPT
" para "*.PPTX
" ou o que for necessário, se necessárioSub 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
- Para garantir que não haja sérios problemas de sintaxe no código, escolha Depurar, Compilar na barra de menus.
- Se houver um erro, verifique o código novamente, caso contrário, clique no botão Executar.
- 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: