Ir ao conteúdo

Posts recomendados

Postado

Pessoal, tenho uma planilha EXCEL que permite, via Selenium, que abrir um arquivo .DOC previamente salvo com texto para então colar conteúdos de células em certos locais do texto do WORD. Exemplo:

 

No arquivo site.doc tenho escrito: o site Clube do Hardware é visitado por <TEXTO1> pessoas. No excel, por exemplo, consta na célula F8 o número de pessoas 5. Com o excel consigo que a planilha abra o arquivo site.doc e insira no campo <TEXTO1> o número 5. O texto no word fica o site Clube do Hardware é visitado por 5 pessoas. Em seguida é gerado um PDF a partir do word e fica salvo no computador um arquivo PDF e um DOC cópia, mantendo-se sem alterações o arquivo original site.doc

 

O problema é que no excel há limite de caracteres por célula e preciso colar texto longo. A ideia então é:

 

1. Excel abrir um arquivo DOC, por exemplo, arquivo1.doc

2. Copiar o conteúdo e colar no arquivo DOC base, por exemplo, arquivobase.doc em alguma posição do texto já existente dentro dele.

3. Em seguida abrir o conteúdo de outro arquivo DOC, por exemplo, arquivo2.doc

4. Copiar o conteúdo e colar no arquivo DOC base, por exemplo, arquivobase.doc em alguma outra posição do texto já existente dentro dele.

5. E assim sucessivamente conforme a quantidade de arquivos DOC eu escolher e que ficariam, por exemplo, em caixa de seleção nas colunas F8, G8, H8 etc.

 

Em um caso poderia selecionar na coluna F8 o arquivo5.doc e na coluna G8 o arquivo3.doc e ao mandar gerar o PDF o conteúdo de cada um desses arquivos seria colado no arquivobase.doc e ao final se geraria um PDF mais um DOC, mantendo o arquivobase.doc sem salvamento para futuro uso. Em outro dia  eu poderia selecionar na coluna F8 o arquivo6.doc e na coluna G8 o arquiv4.doc e na coluna H8 o arquivo1.doc e ao mandar gerar o PDF o conteúdo de cada um desses arquivos seria colado no arquivobase.doc e ao final se geraria um PDF mais um DOC, mantendo o arquivobase.doc sem salvamento para futuro uso.

 

No texto do arquivobase.doc colocaria, por exemplo, o seguinte:

 

O site Clube do Hardware é visitado por <TEXTO1> pessoas que gostam de <TEXTO2> <TEXTO3> <TEXTO4> <TEXTO5> <TEXTO6>.

 

Fazendo funcionar, teríamos: O site Clube do Hardware é visitado por 5 pessoas que gostam de TEXTO COLADO DO ARQUIVO4 TEXTO COLADO DO ARQUIVO 1 etc

 

hoje trabalho com o código abaixo:

 

 

            oDoc.Documents(1).ExportAsFixedFormat OutputFileName:= _
                Plan4.Range("C" & "2").Value & "\" & Plan1.Range("A" & NLINHA).Value & " - " & Replace(Replace(Plan1.Range("C" & NLINHA).Value, Plan4.Range("C" & "2").Value & "\", ""), ".doc", "") & " - " & Plan1.Range("O" & NLINHA).Value & ".pdf", _
                ExportFormat:=17, OpenAfterExport:=False, OptimizeFor:= _
                0, Range:=0, From:=1, To:=1, _
                Item:=0, IncludeDocProps:=True, KeepIRM:=True, _
                DocStructureTags:=True, _
                BitmapMissingFonts:=True, UseISO19005_1:=False
                
                oDoc.Documents(1).SaveAs Filename:=Plan4.Range("C" & "2").Value & "\" & Plan1.Range("A" & NLINHA).Value & " - " & Replace(Replace(Plan1.Range("C" & NLINHA).Value, Plan4.Range("C" & "2").Value & "\", ""), ".doc", "") & " - " & Plan1.Range("O" & NLINHA).Value & ".doc", FileFormat:=wdFormatDocument, _
                LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
               :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
               SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
               False
            oDoc.Quit 0
            'comando abaixo preenche a celula da coluna t com o caminho do pdf que será protocolado
            Plan1.Range("X" & NLINHA).Value = Plan4.Range("C" & "2").Value & "\" & Plan1.Range("A" & NLINHA).Value & " - " & Replace(Replace(Plan1.Range("C" & NLINHA).Value, Plan4.Range("C" & "2").Value & "\", ""), ".doc", "") & " - " & Plan1.Range("O" & NLINHA).Value & ".pdf"
            
            ' identifica o modelo e sugere tipo de protocolo e nome do anexo
            
            If UCase(Range("c" & NLINHA)) Like "*" & "ARQUIVAMENTO" & "*" Then
                    Plan1.Range("V" & NLINHA).Value = "PROTOCOLAR"
                    Plan1.Range("W" & NLINHA).Value = "PPPO"
                        
                        ElseIf UCase(Range("c" & NLINHA)) Like "*" & "DEFESA" & "*" Then
                        Plan1.Range("V" & NLINHA).Value = "PROTOCOLAR"
                        Plan1.Range("W" & NLINHA).Value = "PPP"

 

Agradeço qualquer ajuda

 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!