Problema con las instrucciones DisplayAlerts y ActiveWorkbook.Save

12/11/2007 - 15:47 por Noriel Alejandro | Informe spam
Buenos días, tengo un segmento de codigo asociado a un boton que me funciona
perfectamente en Excel 2007, sin enbargo en 2003 manda error. A continuación
el código:

ThisWorkbook.Sheets(1).Unprotect ("12345") ' Esto porque el libro esta
inicialmente protegido

With Application

.DisplayAlerts = False '****En esta linea esta enviando error

If (Dir("c:\FormPreparacion", vbDirectory) = "") Then
MkDir ("c:\FormPreparacion")
End If

nomfile = "c:\FormPreparacion\" & "FrmSolicitud" & Range("F3") & ".xls"

.ActiveWorkbook.SaveCopyAs Filename:=nomfile '****En esta linea esta
enviando error

.DisplayAlerts = True

End With

ThisWorkbook.Sheets(1).Protect ("12345")

Los dos mensajes de error que esta enviando en 2003 son: que no puede
ejecutar la acción del metodo.

De antemano gracias por la ayuda que me puedan brindar.

NCA.

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
12/11/2007 - 22:27 | Informe spam
hola, Noriel !

... hace sentido y ya lo habia rebisado, sin embargo no hace falta ninguna referencia.
Se esta quedando en la linea de:
.ActiveWorkbook.SaveCopyAs Filename:=nomfile
y me dice: "Error 91 en tiempo de ejecucion, la variable de objeto o bloque with no esta establecido."
Me suena que tiene que ver con referencias, pero no doy con cual es que hay que referenciar.



1) el concepto del error que obtienes ahora, es diferente del error que comentaste en tu consulta original -?-

2) (hasta donde se) el problema con el error 91, es probable que no lo este provocando la linea que expones (directamente)
(generalmente) tiene que ver con variables de objeto NO establecidas (quizas "devueltas" a Nothing/Null/... ?)
o instrucciones With...End With mezcladas con algun GoTo fuera del bloque
o librerias perdidas (o corruptas) en (menu) herramientas / referencias... -> en el editor de vba

3) (aparentemente) las fracciones de codigo que expones estan formando parte de codigos mas extensos

comentas (si detectas) algun detalle mas significativo ?
saludos,
hector.

__ las consultas anteriores __
la siguiente fraccion de codigo usando propiedades del objeto application en un bloque with
(punto antes de sus propiedades) no debiera presentar falla en ninguna version de excel (97 a 2007):

With Application
.DisplayAlerts = False
Msj = "Alertas 1: " & .DisplayAlerts & vbCr
Msj = Msj & .ActiveWorkbook.Name & vbCr
.DisplayAlerts = True
Msj = Msj & "Alertas 2: " & .DisplayAlerts
End With
MsgBox Msj

a menos que... en la pc donde falle existan referencias a/o librerias perdidas en el proyecto de macros
-> revisa en "esa" pc, desde el editor de vba en (menu) herramientas / referencias...
por alguna que diga: FALTA: xxx o MISSING: xxx

__ la consulta original __
> ... tengo un segmento de codigo asociado a un boton que me funciona perfectamente en Excel 2007
> sin enbargo en 2003 manda error. A continuacion el codigo:
> ThisWorkbook.Sheets(1).Unprotect ("12345") ' Esto porque el libro esta inicialmente protegido
> With Application
> .DisplayAlerts = False '****En esta linea esta enviando error
> If (Dir("c:\FormPreparacion", vbDirectory) = "") Then
> MkDir ("c:\FormPreparacion")
> End If
> nomfile = "c:\FormPreparacion\" & "FrmSolicitud" & Range("F3") & ".xls"
> .ActiveWorkbook.SaveCopyAs Filename:=nomfile '****En esta linea esta enviando error
> .DisplayAlerts = True
> End With
> ThisWorkbook.Sheets(1).Protect ("12345")
> Los dos mensajes de error que esta enviando en 2003 son: que no puede ejecutar la accion del metodo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida