Guardar una página de word a PDF y cambia el nombre de página siguiente

Tengo un documento en word, del cual debo guardar cada página de el en PDF con nombre diferente y pensando que puedo ahorrar un poco de tiempo con alguna macro (como no se mucho de esto) grabe la siguiente:

Sub Guarda_PDF_2()
'
' Guarda_PDF_2 Macro
'
'
Selection.Copy
ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"C:\Users\jire killer\Downloads\LISTAS DE ASISTENCIA\Soportes LA\3952 OBRAS 20160915---.pdf" _
, ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForOnScreen, Range:=wdExportCurrentPage, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=False, _
BitmapMissingFonts:=False, UseISO19005_1:=False
End Sub

El problema con esta es que a todas las páginas les asigna el mismo nombre y me gustaría que la macro antes de grabar el pdf pregunte el nombre o copie una palabra (o numero) preseleccionada y lo agregue al nombre del documento de word.

En el ejemplo la variable es el numero 3952 el cual debo cambia en cada página.

En mi caso creo que puedo seleccionar la palabra que es variable y que la macro al ejecutarse copie la selección y agregue el texto copiado al nombre del archivo.

2 respuestas

Respuesta
1

Pruebe con esta macro

Sub ExportPagPdf2prueba3()

Dim pag As Integer, x As Long, carpeta As String, z As String

Selection.HomeKey Unit:=wdStory

pag = ActiveDocument.BuiltInDocumentProperties(wdPropertyPages)

x = 3952

z = " lo que sea"

carpeta = "C:\Documents and Settings\usuario\Escritorio\PruebasPdf\"

For i = 1 To pag

ActiveDocument.ExportAsFixedFormat OutputFileName:=carpeta & x & z _

, ExportFormat:=wdExportFormatPDF, Range:=wdExportCurrentPage, From:=1, To:=1

x = x + 1

Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Count:=1, Name:=""

Next

End Sub

Muchas gracias por amabilidad, cuando ejecuto la macro aparece error de compilación

ActiveDocument.ExportAsFixedFormat y no pasa de ahí, cual crees que pueda ser el problema.

Muchas gracias por amabilidad, cuando ejecuto la macro aparece error de compilación "el argumento no es opcional"

ActiveDocument.ExportAsFixedFormat y no pasa de ahí, cual crees que pueda ser el problema.

Hola

No pude hacer que se ejecute la macro que mandaste pero me dio una idea para corregir la que tenia y quedo de la manera siguiente

Sub Guarda_PDF_2()
'
' Guarda_PDF_2 Macro
'

x = Selection.Text

ActiveDocument.ExportAsFixedFormat OutputFileName:= _
"C:\Users\jire killer\Downloads\LISTAS DE ASISTENCIA\Soportes LA\CORES000000" & x & " OBRAS.pdf" _
, ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
wdExportOptimizeForOnScreen, Range:=wdExportCurrentPage, From:=1, To:=1, _
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=False, _
BitmapMissingFonts:=False, UseISO19005_1:=False
End Sub

MUCHAS GRACIAS

No sé la respuesta; a mí me funciona con el Office 2010, Windows XP y Macros habilitadas. Además, estoy viendo que la macro que Ud. utiliza no es la misma que la que le envíe:

ActiveDocument.ExportAsFixedFormat OutputFileName:=carpeta & x & z _

, ExportFormat:=wdExportFormatPDF, Range:=wdExportCurrentPage, From:=1, To:=1

x = x + 1                  ESTA LÍNEA Y LAS SIGUIENTES NO ESTÁN REFLEJADAS

Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext, Count:=1, Name:=""

Next

¡Gracias! Disculpa la tardanza, no fueron necesarias las lineas que comentas. 

Ya que por lo que logro entender de las macros 

x = 3952

x = x + 1

va a generar el nombre del documento incrementando 1

Por lo que la primera pagina se va a llamar 3952 la segunda pagina va a ser 3953 y la tercera va ser  3954. pero no lo requiero así ya que cada quincena que ( modifico el documento) debe iniciar con un valor diferente a 3952, por ejemplo al dia de hoy ya genere el archivo 4357. 

De todas formas me fue de micha utilidad su respuesta ya que con ella pude generar la macro que comente. 

MUCHAS GRACIAS

Respuesta

Es buena tema, pero no se como ayudarte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas