Guardar sin macros

Dona elsa, que pena molestarla recurro a su sabiduría y a su experiencia. Mi pregunta es: ¿Cómo hago para guardar un desde libro que contiene macros una copia exacta de este sin que se copien también las macros y que quede el libro que tiene la macros abierto?. Gracias y qDtb.

1 Respuesta

Respuesta
1
No podrás hacer exactamente como lo que mencionas. Te daré algunas instrucciones para que lo armes según sea lo mejor para tu proceso:
La instrucción:
ActiveWorkbook. ¿SaveAs?.. guarda tu libro activo con otro nombre (como copia) al que 'previamente' le habrás quitado las macros. Pero como es lo mismo que 'Guardar Como' ahora estarás parado en la copia. Tendrás que abrir nuevamente tu libro original.
Otra instrucción es:
ActiveWorkbook.SaveCopyAs?. en ese caso solo hace 1 copia y seguis estando en tu libro original. Pero a continuación tendrás que abrir esta copia, quitarle el código y volverlo a guardar. Esto se puede hacer de manera transparente al usuario con la instrucción: Application.ScreenUpdating = False
La rutina para eliminar código es:
Sub sincodigo()
'nos aseguramos que no sea un xlt
'y quitamos módulos y Userforms
If Right(ActiveWorkbook.Name, 3) <> "xlt" Then
With ActiveWorkbook.VBProject.VBComponents
.Remove.Item ("Módulo1")
.Remove.Item ("UserForm1")
'otros módulos y forms
End With
'remueve también las rutinas de ThisWorkbook y Hojas
With Application.VBE.ActiveVBProject
For ele = 1 To .VBComponents.Count
LineasCod = .VBComponents(ele).CodeModule.CountOfLines
If LineasCod > 0 Then
.VBComponents(ele).CodeModule.DeleteLines 1, LineasCod
End If
'se repite el bucle para el próximo objeto del proyecto
Next ele
End With
End If
End Sub
Espero sea de utilidad.
Saludos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas