Asignar nombre a doc. De txt

Hola Experto tengo una duda
Y se que es muy bueno en exel por eso
Opte por preguntarle a usted
Tengo una macro que crea un doc de texto
Como lo vemos en el sig código
Public Sub Guardartxt()
Dim wbNuevo As Workbook
Worksheets("Puntos").Copy
Set wbNuevo = ActiveWorkbook
Application.DisplayAlerts = False
wbNuevo.SaveAs _
Filename:="C:\sidisa\documen.txt", _
FileFormat:=xlTextPrinter, _
CreateBackup:=False
wbNuevo.Close False
Application.DisplayAlerts = True
Set wbNuevo = Nothing
End Sub
Y funciona muy bien pero que quiero es saber si se puede desplegá un mensaje pidiendo el nombre de documento de txt y verificar si existe y preguntar remplazar bueno y abusando es posible crear un folder desde una macro y si es así ¿cómo?
Espero tu respuesta pronto ojala me puedas ayudar Muchas y gracias por tu tiempo
Saludos Fernando y un fuerte abrazo

1 Respuesta

Respuesta
1
Bien, la forma de obtener el nombre del archivo de tu usuario sería:
var_ArchNomb = Inputbox("indique nombre de archivo")
Luego puedes usaar el nombre en la variable reemplazándolo en el comando de grabación.
Debería escribir el camino completo...
Por ello prefiero usar esta opción que llama una ventana de diálogo similar a la de MS Excel para "Grabar como..."
Mira este código (sobre el tuyo):
Public Sub Guardartxt()
Dim wbNuevo As Workbook
Worksheets("Puntos").Copy
Set wbNuevo = ActiveWorkbook
Application.DisplayAlerts = False
'obtiene directorio y nombre
fileSaveName = Application.GetSaveAsFilename(fileFilter:="Text Files (*.txt), *.txt")
If fileSaveName <> False Then
wbNuevo.SaveAs _
FilenamefileSaveName,FileFormat:=xlTextPrinter,CreateBackup:=False
End If
Si el archivo existe y quieres que te pregunte para reemplazarlo, es una función propia de MS Excel que la hará automáticamente cuando intentes sobreescribir un archivo existente.
Finalmente para creer un directorio, te sugiero esta rutina que controla primero si existe o no:
'control de existencia de directorio
Dim y As String
PathFold = "C:\Mis Documentos\neneba\Otrofolder"
y = Dir(PathFold, vbDirectory)
If y = "" Then
MkDir (PathFold)
End If
---
Aquí sí podrias usar un InputBox para obtener el nombre del directorio a obtener.
Reemplaza la linea:
PathFold = "C:\Mis Documentos\neneba\Otrofolder"
PathFold = Inputbox("Indique nombre de DIRECTORIO")
Esto debería resolver tu pregunta. Si así fuera, agradeceré un comentario y que la finalices.
Si no, pregúntame de nuevo.
Un abrazo!
Fernando
*==========================================*
Aclarando qué entendí mal o qué faltó.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas