Ir ao conteúdo
  • Cadastre-se

rosanezane

Membro Júnior
  • Posts

    19
  • Cadastrado em

  • Última visita

Reputação

3

1 Seguidor

  1. Eu desisto, mas obrigada pela paciência. Não deu aqui. Mesmo depois de muitos códigos e códigos. Anteriormente o @Basole havia feito uma planilha muito boa pra salvar individualmente utilizando uma determinada coluna como base de nome a ser salvo. Eu uso até hoje, inclusive. Algumas vezes eu preciso enviar os arquivos para as Unidades, Infelizmente o pessoal aqui reclamou porque são arquivos individuais , então ficavam abrindo pdf por pdf pra imprimir. Se desse de fazer agrupado por empresa, ia ajudar muito na hora da impressão para eles. No entanto eu não consegui utilizar os códigos acima, estão dando todos os erros possíveis. Mas muito obrigada pela paciência @Midori
  2. o endereço para salvar aqui é C:\Users\rosane.oliveira\Desktop\ Como eu substituo no diretório ? coloquei o user, mas não salvou em downloads. Deu "erro no diretório"
  3. @Basole @Midori desculpem a demora pra responder, tive uns imprevistos pessoais e fiquei ocupada com outras coisas. O código dá erro "5852" a mala direta já está configurada com lista de destinatários ( planilha) mesmo assim o erro persiste. Será que tem haver com o endereço pra salvar? abaixo o erro e a depuração abaixo , como vê, a planilha já está vinculada ao word.
  4. @wesley.elias On Error GoTo tR_eRROR Application.ScreenUpdating = False With ActiveDocument.MailMerge.DataSource .ActiveRecord = wdFirstRecord End With qtde = ActiveDocument.MailMerge.DataSource.RecordCount strPath = "\xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\" 'onde tem xxxxxxxxxxxxxxxxx coloca endereço da pasta onde vai ficar os arquivos, é so copiar e colar o endereço For registro = 1 To qtde nomeArquivo = ActiveDocument.MailMerge.DataSource.DataFields("OBS").Value ' onde tem OBS, trocar para o nome da coluna onde estão os nomes dos funcionários informação tem no excel With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = True With .DataSource .FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord .LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord End With .Execute Pause:=False End With ActiveDocument.ExportAsFixedFormat OutputFileName:=strPath & nomeArquivo, _ ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _ wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _ Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _ CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _ BitmapMissingFonts:=True, UseISO19005_1:=False Word.Application.DisplayAlerts = wdAlertsNone ActiveWindow.Close SAVECHANGES:=False Word.Application.DisplayAlerts = wdAlertsAll ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord Next registro tR_eRROR: Application.ScreenUpdating = True End Sub 'não precisa mesclar, pode executar que vai dá certo.
  5. @Basole desconsiderar a 2 pagina, acho que o excesso de caractere criou uma nova página no word. o Certo é uma folha de ponto por funcionário, essas informações no final do word pode até apagar. Meu amigo eu aguardo ansiosamente para que você encontre alguma solução
  6. @Midori Tentei com o seu código novamente, a planilha já estava vinculada, agora dá outro erro, valha
  7. @Midori com o seu código eu não consegui, mas com esse abaixo, sim. Foi uma mistura da primeira parte do seu código, com o código vba que o @Basole havia me fornecido uma outra vez. Mas há um problema: SÓ SALVA UMA FOLHA DE PONTO POR FILIAL ( um funcionário de cada empresa). Alguém me help. Sub SALVAR_AGRUPADO_PDF() Dim Documento As Document Dim NovoDocumento As Document Dim Formulario As Range Dim Filial As String Dim FilialAnterior As String Dim Conta As Long On Error GoTo tR_eRROR Application.ScreenUpdating = False With ActiveDocument.MailMerge.DataSource .ActiveRecord = wdFirstRecord End With qtde = ActiveDocument.MailMerge.DataSource.RecordCount strPath = "\\california\gestao_pessoas\DIVISAO DE LOTAÇÃO\2022\CONTRATO EMERGENCIAL - INDIVIDUAL\PRORROGAÇÃO 2022 PARTE 02\ATE DEZEMBRO\lab\" 'aqui é o caminho da pasta For registro = 1 To qtde nomeArquivo = ActiveDocument.MailMerge.DataSource.DataFields("FILIAL").Value With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = True With .DataSource .FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord .LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord End With .Execute Pause:=False End With ActiveDocument.ExportAsFixedFormat OutputFileName:=strPath & nomeArquivo, _ ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _ wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _ Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _ CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _ BitmapMissingFonts:=True, UseISO19005_1:=False Word.Application.DisplayAlerts = wdAlertsNone ActiveWindow.Close SAVECHANGES:=False Word.Application.DisplayAlerts = wdAlertsAll ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord Next registro tR_eRROR: Application.ScreenUpdating = True End Sub
  8. Sim, @Basole No caso, separados por filial conforme o quadro de excel que eu separei por cores no anexo. Já renomeados com o nome das empresas conforme você falou. Geraria 4 arquivos de PDF: Empresa California.pdf Empresa Rio de Janeiro.pdf Empresa São Paulo.pdf Empresa Acre.pdf
  9. Bom dia! Gostaria de saber qual código VBA eu utilizo para salvar folhas de pontos de pessoas AGRUPADAS e renomeadas por filial. (formato PDF) EXEMPLO: EMPRESA CALIFORNIA.pdf (dentro do arquivo contem as 3 folhas de pontos dos funcionários) EMPRESA SAO PAULO.pdf (dentro do arquivo contem as 2 folhas de pontos dos funcionários) obs: As filiais estão na planilha de excel. _PADRÃO MAIO 2022.docx FUNCIONARIOS.xlsx @Basoleconsegue me ajudar nessa?
  10. Descobri o que ocorreu! Tive que apagar os "." Pontos das palavras da coluna OBS (utilizadas para salvar ) aí deu certo
  11. @Basole o problema é que só ta salvando 25 documentos, como eu altero para 1360 ?sou iniciante no vba
  12. Porque ensinaram que para salvar individualmente, teria que além de gerar a mala direta, editar os arquivos individualmente lá em concluir e mesclar. Mas para identificar onde começa uma página e onde termina essa mesma página (na hora de salvar), precisa de referencias. Dai o Inicio e final de cada página @Basole ja sou fã! deu tudo certo aqui !

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...