Saltar al contenido

Crear una copia de un libro sin macros


Antoni

Recommended Posts

publicado

Hola:

Poner esta macro en un libro nuevo y ejecutarla.

Os pedirá un libro.

La macro, genera una copia del mismo eliminando todas las macros, modulos y formularios.

Al nombre de la copia, se le antepone "Sin macros_" + Fecha + Hora

Sub EliminarMacrosLibro()
'
' Esta macro elimina todo el código VBA de la copia del libro seleccionado
' ------------------------------------------------------------------------
'
Application.ScreenUpdating = False
ChDir ThisWorkbook.Path
Archivo = Application.GetOpenFilename _
("Excel (*.xlsm; *.xls ), *.xlsm;*.xls", , _
"Seleccione el archivo al que desea eliminar el código VBA.")
'--
Application.EnableEvents = False
Workbooks.Open Archivo
LibroConMacros = Mid(Archivo, InStrRev(Archivo, "\") + 1)
LibroSinMacros = ActiveWorkbook.Path & "\Sin código_" & Format(Date, "yyyymmdd") & _
Format(Time, "hhmmss") & "_" & LibroConMacros
ActiveWorkbook.SaveCopyAs LibroSinMacros
Workbooks(LibroConMacros).Close
Workbooks.Open LibroSinMacros
Application.EnableEvents = True
'--
Set VBProj = ActiveWorkbook.VBProject
For Each VBComp In VBProj.VBComponents
If VBComp.Type = vbext_ct_Document Then
VBComp.CodeModule.DeleteLines 1, VBComp.CodeModule.CountOfLines
Else
VBProj.VBComponents.Remove VBComp
End If
Next VBComp
'--
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
[/CODE]

Saludos. "Macro".

publicado

Hola Macro Antonio, esta excelente.

Para los que quieren eliminar las macros en excel 2007, el libro lo guardan Como xlsx, se guarda sin codigos.

publicado

Hola:

Gracias rolano, a veces se me olvida que lo de las versiones de Excel.

Colocar estas líneas de código antes de End Sub, y funcionará con cualquier versión.

If LCase(Right(LibroConMacros, 4)) = "xlsm" Then
Name LibroSinMacros As Left(LibroSinMacros, Len(LibroSinMacros) - 1) & "x"
End If
[/CODE]

Salu2 a to2,........ to2......."Macro".

  • 9 months later...
publicado
Hola Gerson:

Para que no te fatigues,......................ja,ja,ja.

jeje Excelente Antoni como siempre, de hecho no sabia de este aporte, hasta que Luis dio este enlace en otro tema

Saludos

  • 1 year later...
publicado

Muy buen aporte me sirvió aunque yo llegue buscando como generar una copia de un libro, pero que ese libro se grabe libre de macros, alguien sabrá por ahí, gracias de antemano.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.