![El cuadro de diálogo no se muestra cuando ejecuto la macro para guardar un documento](https://rvso.com/image/1597840/El%20cuadro%20de%20di%C3%A1logo%20no%20se%20muestra%20cuando%20ejecuto%20la%20macro%20para%20guardar%20un%20documento.png)
Este es el código que utilicé. El cuadro de diálogo sólo aparece cuando ejecuto esto en el diseñador. Cuando cierro el diseñador y ejecuto la macro, solo guarda el libro, pero quiero que aparezca el cuadro de diálogo cada vez que ejecuto esta macro. Cualquier ayuda/sugerencia por favor
Sub SaveAs()
Dim IntialName As String
Dim sFileSaveName As Variant
IntialName = "Sample Output"
sFileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")
If sFileSaveName <> False Then
ActiveWorkbook.SaveAs sFileSaveName
End If
End Sub
Respuesta1
Su Código necesita algunas correcciones:
- Dado que el nombre de la subrutina utilizado por usted entra en conflicto con una de las palabras de reserva (comando)Guardar como, por lo tanto, Excel devuelve este error.
- Debes eliminar esto de la línea de comando,
InitialFileName:=
Razón:Está intentando guardar el archivo con el nombre dado IntialName = "Sample Output"
.
- El último es un error tipográfico
InitialName
.
Correcciones sugeridas:
Cambie el nombre de la subrutina, por ejemplo,GuardarMiArchivoComoo cualquier otro queGuardar como.
Reemplace esta línea,
sFileSaveName = Application.GetSaveAsFilename(InitialFileName:=InitialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")
Con este,
sFileSaveName = Application.GetSaveAsFilename(IntialName, fileFilter:="Excel Files (*.xlsm), *.xlsm")
- Obtienes aviso.
Y este debería ser el código completo a utilizar.
Sub SaveMyFileAs() Dim IntialName As String Dim sFileSaveName As Variant IntialName = "Sample Output" sFileSaveName = Application.GetSaveAsFilename(IntialName, fileFilter:="Excel Files (*.xlsm), *.xlsm") If sFileSaveName <> False Then ActiveWorkbook.SaveAs sFileSaveName End If End Sub
NÓTESE BIENEste código se puede utilizar como,Libro de trabajo_antes de cerrarevento también.