Excel - No me funcionan mis macros.

   
Vista:

No me funcionan mis macros.

Publicado por Pablo (16 intervenciones) el 15/03/2012 09:38:04
Tengo el siguiente código que alguno de vosotros me ayudó a poner en marcha:

Dim fs As Object
Dim Userprofile As String
Dim RutaArchivo As String
Dim NombreArchivo As String

On Error Resume Next
Err.Clear

'Declaraciones y puestas en marcha.
Set fs = CreateObject("Scripting.FileSystemObject")

Userprofile = VBA.Environ("USERPROFILE") 'cuando se usen funciones del sistema es mejor empezar por VBA

RutaArchivo = Userprofile & "\Mis Documentos\Notas\"

NombreArchivo = Range("v4").Value

'Si no existe el directorio, lo creas.
If Not fs.FolderExists(RutaArchivo) Then
fs.createfolder (RutaArchivo)
End If

'Si ya existe el fichero, lo guardas. Si no existe lo creas nuevo.
If fs.fileExists(RutaArchivo & NombreArchivo & ".xls") Then
ActiveWorkbook.Save
Else
ActiveWorkbook.SaveAs Filename:=RutaArchivo & NombreArchivo & ".xls" _
, FileFormat:=xlNormal, CreateBackup:=False
Application.DisplayAlerts = False
End If

'Reseteo
Set fs = Nothing

End Sub

El código consiste en dar el nombre al archivo procedente de una celda de la hoja excel. Esa celda se rellena con determinada información que se le pide al usuario.
Y este código me funcionaba perfectamente.
Pero ya no funciona. Ahora me guarda el archivo con el nombre de la plantilla pasando de xlt a xls y añadiendo un número en caso de que exista. Vamos, como hace excel con cualquier plantilla.
He notado, que el código sigue funcionando en algunos equipos de la organización, también con Office 2003, aunque con Windows XP y no W7 como el mio.
¿Alguna sugerencia?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

No me funcionan mis macros.

Publicado por JuanC juanc2942@gmail.com (1053 intervenciones) el 15/03/2012 10:24:46
quita la línea
On Error Resume Next
y depura el código paso a paso...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

No me funcionan mis macros.

Publicado por Pablo (16 intervenciones) el 15/03/2012 11:29:18
Vale, ya creo que sé dónde está el problema.

Puse ésto en la hoja ThisWorkBook:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

'Este código es para evitar que si el usuario pulsa el botón guardar de Excel
'le de un nombre distinto al establecido.

Call Nombrar

End Sub

Cuando el fichero ya existe se produce un bucle, que no da error, pero que le da al fichero el nombre que le da la gana.
Tengo un botón que los usuarios deben usar para guardar y darle nombre al archivo, pero ellos instintivamente usan el predeterminado de Excel. Esta era una forma de evitarlo, pero veo que no funciona bien.
Gracias Juan por tu tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gonzalo Quintana

No me funcionan mis macros.

Publicado por Gonzalo Quintana guliquin03@yahoo.com.ar (70 intervenciones) el 17/04/2012 20:28:26
Pablo:

Para que los usuarios, al guardar normalmente, utilicen tu macro, deberías poner lo siguiente en la hoja ThisWorkbook:

1
2
3
4
5
6
7
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
 
Cancel = True ' Esto desactiva el guardado normal de Excel
 
Call Nombrar
 
End Sub


Saludos,

Gonzalo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar