Guardar archivos

Tengo una macro que me permite seleccionar un rango de un una hoja de excel y guardarlo como archivo PDF. Para no sobreescribir el archivo, dado que se guardan en la misma carpeta, quisiera saber si en el momento de guardarlo se puede agregar en forma automática el nombre de usuario activo (este dato esta en una celda). Para aclarar: la idea es que la aplicación ponga nombre al archivo y lo guarde, NO el usuario. Adjunto el código con el que estoy trabajando. Muchas gracias.
Range("B2:I8").Select
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\Alejandro\Desktop\nombre de archvio.pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
    Range("B10").Select

2 Respuestas

Respuesta
1
Primero deberías grabar una variable que tenga el nombre con el que deseas guardar el archivo, indicabas que ese nombre estaba en una celda, pensando que es a1 la variable sería así:
Nombre_Archivo = Range("A1").value
Y en la parte del guardado deberías cambiar esta parte:
"C:\Users\Alejandro\Desktop\nombre de archvio.pdf", Quality:= _
Por:
"C:\Users\Alejandro\Desktop\" & Nombre_Archivo & ".pdf", Quality:= _
Y listo el nombre del archivo lo define la macro y no el usuario, claro el nombre debe estar en algún lado.
Respuesta
1
Suponiendo que el nombre de usuario esta en la cela A10, seria
Range("B2:I8").Select
    Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\" & [A10] & "\Desktop\nombre de archvio.pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=True
    Range("B10").Select

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas