Macro en Word, consume demasiada memoria

Publicado en 'Programación' por TheRoot, 1 Jun 2017.





  1. TheRoot

    TheRoot Miembro maestro

    Registro:
    8 Ene 2015
    Mensajes:
    331
    Likes:
    30
    Temas:
    38




    Buenos dias gente del foro, tengo un problema, en un documento WORD de 10,000 paginas debo crear un PDF por cada pagina, por lo que creé la siguiente macro:

    Sub PDF()
    '
    ' PDF Macro
    '
    '
    Dim numPaginas As Integer
    Dim pagToPDF As Integer
    Dim Ruta As String
    Dim NombrePagina As String

    Ruta = "C:\Garbage\PDF\"

    numPaginas = ActiveDocument.ComputeStatistics(wdStatisticPages)

    ChangeFileOpenDirectory Ruta

    For pagToPDF = 1 To numPaginas

    NombrePagina = Ruta & Right("00000" & Val(pagToPDF), 6) & ".pdf"
    ActiveDocument.ExportAsFixedFormat OutputFileName:= _
    NombrePagina, ExportFormat:=wdExportFormatPDF, _
    OpenAfterExport:=False, Range:= _
    wdExportFromTo, From:=pagToPDF, To:=pagToPDF
    ActiveDocument.Close
    Next pagToPDF
    End Sub

    El problema esta en que la maquina me indica que WORD usa demasiada memoria, con cada PDF creado veo en el Administrador de tareas que la RAM ocupada por WORD va en aumento hasta que me quedo sin memoria.

    Imagino que esta creando en memoria una instancia a algun objeto o cache de lo creado en PDF pero no logro dar con la forma de liberar dicha memoria en cada iteracion del bucle.

    ¿Alguna idea (que no sea comprar mas RAM)?
     


  2. macniaco

    macniaco Miembro diamante

    Registro:
    27 Set 2011
    Mensajes:
    12,102
    Likes:
    5,335
    Temas:
    15
    Obligadamente cada pagina tiene q ser un PDF independiente o puede ser un solo PDF, de todas maneras en acrobat puedes separar las paginas tambien.

    Normalmente exportar a PDF hace sufrir a word ya q no esta hecho para eso. La mejor forma de crear un PDF de word es imprimiendo a un archivo, ocupas tener el adobe acrobat y configurar la salida y siempre q envias a imprimir te genera un PDF.
     
  3. TheRoot

    TheRoot Miembro maestro

    Registro:
    8 Ene 2015
    Mensajes:
    331
    Likes:
    30
    Temas:
    38
    Si, necesariamente cada pagina tiene que ser un PDF diferente, recuerda que son 10,000 paginas, no hay forma de separlas manualmente.
     
  4. macniaco

    macniaco Miembro diamante

    Registro:
    27 Set 2011
    Mensajes:
    12,102
    Likes:
    5,335
    Temas:
    15
    What??

    Si tienes un archivo en PDF puedes usar e acrobat para q lo divida en archivos de X paginas.
     
  5. TheRoot

    TheRoot Miembro maestro

    Registro:
    8 Ene 2015
    Mensajes:
    331
    Likes:
    30
    Temas:
    38
    Eso no lo sabia, ¿donde configuro eso? ¿Como le digo al Acrobat que nombre ponerle a cada archivo (o mejor dicho como le doy un patron de nombres)?
     
  6. macniaco

    macniaco Miembro diamante

    Registro:
    27 Set 2011
    Mensajes:
    12,102
    Likes:
    5,335
    Temas:
    15
    Tampoco es un manejador de archivos ela crobat, lo q hace el acrobat es dividir el documento y le dices cuantas paginas x documento quieres q tenga, le das la ruta de una carpeta y le agregas etiqueta, asi te sale:

    MI ARCHIVO_TEXTO DE ETIQUETAXXXX.PDF
     
  7. TheRoot

    TheRoot Miembro maestro

    Registro:
    8 Ene 2015
    Mensajes:
    331
    Likes:
    30
    Temas:
    38
    No logro encontrar la opcion desde Acrobat para dividir el PDF, ¿podrias ayudarme por favor?.
     
  8. macniaco

    macniaco Miembro diamante

    Registro:
    27 Set 2011
    Mensajes:
    12,102
    Likes:
    5,335
    Temas:
    15
    Activa la pestaña herramientas, ahi esta las opciones
    Rotar
    Eliminar
    Extraer
    Reemplazar
    Recortar
    Dividir documento
     
  9. TheRoot

    TheRoot Miembro maestro

    Registro:
    8 Ene 2015
    Mensajes:
    331
    Likes:
    30
    Temas:
    38
    Uhmmm,

    Me salen otras opciones (el editar pdf me pide contratar un servicio de pago).
     
  10. Muleiro

    Muleiro Miembro de plata

    Registro:
    3 Jul 2012
    Mensajes:
    3,680
    Likes:
    987
    Temas:
    143
    El Acrobat Reader gratuito creo que no tiene esas herramienta para manipular los PDF . Usa otras utilidades como el PDF Sam y otros que hay.
     
  11. macniaco

    macniaco Miembro diamante

    Registro:
    27 Set 2011
    Mensajes:
    12,102
    Likes:
    5,335
    Temas:
    15
    Ocupas el adobe acrobat, el reader no permite hacer casi nada
     
  12. TheRoot

    TheRoot Miembro maestro

    Registro:
    8 Ene 2015
    Mensajes:
    331
    Likes:
    30
    Temas:
    38
    El Adobe Acrobat PRO no, solo tengo el reader y me parece que no existe una version gratuita que permita hacer lo que indicas.

    Comprar el producto no seria opcion, tendria que pedir permiso al papa, es mas facil desarrollo inhouse.
     
  13. macniaco

    macniaco Miembro diamante

    Registro:
    27 Set 2011
    Mensajes:
    12,102
    Likes:
    5,335
    Temas:
    15
    Bajate la version pro en prueba x 30 dias.
     
  14. zlader

    zlader Miembro de bronce

    Registro:
    30 Oct 2009
    Mensajes:
    1,517
    Likes:
    223
    Temas:
    9
    ¿Tiene que ser necesariamente PDF?, ¿no podria ser imagen jpg?, si instalas bullzip y mandas a imprimir como jpg este te crea una imagen por cada pagina
     
  15. Muleiro

    Muleiro Miembro de plata

    Registro:
    3 Jul 2012
    Mensajes:
    3,680
    Likes:
    987
    Temas:
    143
    Hay muchas aplicaciones para manejar los PDF no todo es Adobe pues. Yo lo resolvería de un papazo.
     
  16. TheRoot

    TheRoot Miembro maestro

    Registro:
    8 Ene 2015
    Mensajes:
    331
    Likes:
    30
    Temas:
    38
    Jejejeje,

    Instalar software no es cosa de juego en una empresa, hasta Adobe podia ser una solución, pero como dije comprar software necesita autorizaciones, vere si le doy una vuelta mas al script inicial, aunque no se me ocurre nada, el proceso se queda sin memoria a la mitad del trabajo.

    Igual, muchas gracias por su ayuda.
     
  17. gnox

    gnox Miembro de bronce

    Registro:
    3 Ene 2013
    Mensajes:
    2,348
    Likes:
    946
    Temas:
    82