
Macro consume demasiada memoria
Publicado por TheRoot (2 intervenciones) el 01/06/2017 18:31:13
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:
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)?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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)?
Valora esta pregunta


0