Guardar un excel en una ubicación genérica

Guardar un excel en una ruta genérica sin importar la sesión del usuario. Por ejemplo que siempre se guarde en la carpeta Mis documentos del perfil del usuario que inicio sesión. Caso contrario que al presionar "Guardar como" el nombre del archivo sea el contenido de la celda A1 y que solo se tenga que seleccionar la ubicación.

Respuesta
1

Te anexo la macro para guardar y guardar como.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Por.Dante Amor
    Application.DisplayAlerts = False
    If SaveAsUI Then
        'Seleccionar carpeta
        arch = [A1]
        ruta = ThisWorkbook.Path & "\"
        Set fldr = Application.FileDialog(msoFileDialogFolderPicker)
        With fldr
            .Title = "Selecciona una carpeta"
            .AllowMultiSelect = False
            .InitialFileName = ruta
            If .Show <> -1 Then Exit Sub
            cp = .SelectedItems(1) & "\"
        End With
        Application.EnableEvents = False
        ActiveWorkbook.SaveAs Filename:=cp & arch & ".xlsm", _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
        Application.EnableEvents = True
        Cancel = True
    Else
        'guarda en mis documentos
        Application.EnableEvents = False
        misdoc = CreateObject("WScript.Shell").SpecialFolders("MyDocuments") & "\"
        ActiveWorkbook.SaveAs Filename:=misdoc & ThisWorkbook.Name, _
            FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
        Application.EnableEvents = True
        Cancel = True
    End If
End Sub

Antes de valorar una respuesta, y si todavía tienes dudas, puedes solicitar más información. Si las repuestas son correctas, podrías cambiar la valoración.

S a l u d o s . D a n t e   A m o r

Recuerda valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas