Você está na página 1de 2

Sub SeparareSalvarPDF()

Dim Arquivo As Integer


Dim CaminhoArquivo As String
Dim TextoProximaLinha As String

'Definir a leitura do arquivo que cont�m os nomes dos arquivos que ser�o gerados.
Arquivo = FreeFile
CaminhoArquivo = "C:\Users\Arthur\Desktop\nomes.txt"

'Abrir arquivo para leitura.


Open CaminhoArquivo For Input As Arquivo

'Usado para definir crit�rios para percorrer o documento por se��o.


Application.Browser.Target = wdBrowseSection

'Um documento de mala direta termina com uma quebra de se��o pr�xima p�gina.
'Subtraindo um da mensagem de erro de parada de contagem de se��o.
For i = 1 To ((ActiveDocument.Sections.Count) - 1)
'Nota: Se um documento n�o terminar com uma quebra de se��o,
'substitua a seguinte linha de c�digo pela acima:
'For I = 1 To ActiveDocument.Sections.Count

'Selecione e copie o texto da se��o para a �rea de transfer�ncia.


ActiveDocument.Bookmarks("\Section").Range.Copy

'criar um novo documento para colar texto da �rea de transfer�ncia.


'Documents.Add
'Selection.Paste

'Altera a orienta��o da p�gina para paisagem


'Orientation
'Exclui a �ltima p�gina (use somente se necess�rio)
'DeleteLastLine

ChangeFileOpenDirectory "C:\Users\Arthur\Desktop\"
Documents.Open FileName:="modelo word.dotx", ConfirmConversions:=False, _
ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _
PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _
WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""
Selection.Paste

'Remove a quebra que � copiada no final da se��o, se houver.


Selection.MoveUp Unit:=wdLine, Count:=1, Extend:=wdExtend
Selection.Delete Unit:=wdCharacter, Count:=1
ChangeFileOpenDirectory "C:\Users\Arthur\Desktop\teste certificado\"

'Faz a leitura da linha


Line Input #Arquivo, TextoProximaLinha
TextoProximaLinha = TextoProximaLinha

'Exportar para .pdf e personalizar o nome do arquivo para a linha lida


ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"C:\Users\Arthur\Desktop\teste certificado\" & TextoProximaLinha & ".pdf" _
, 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
'Fecha o arquivo "tempor�rio" do Word sem salvar as altera��es
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
'Move a sele��o para a pr�xima se��o no documento.
Application.Browser.Next
Next i
ActiveDocument.Close savechanges:=wdDoNotSaveChanges
End Sub

Sub Orientation()
'Se a orienta��o da p�gina for retrato, ela ser� alterada para paisagem
'Este � um caso particular na emiss�o de certificados. Certifique-se de que, no
seu caso, � necess�rio
If Selection.PageSetup.Orientation = wdOrientPortrait Then
Selection.PageSetup.Orientation = wdOrientLandscape
Else
Selection.PageSetup.Orientation = wdOrientPortrait
End If
ActiveWindow.ActivePane.VerticalPercentScrolled = 0
End Sub

Sub DeleteLastLine()
'Este � um caso particular na emiss�o de certificados. Certifique-se de que, no seu
caso, � necess�rio
Selection.HomeKey Unit:=wdStory
Selection.EndKey Unit:=wdStory
Selection.MoveLeft Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.Delete Unit:=wdCharacter, Count:=1
End Sub

Você também pode gostar