Este código no corre en todas las máquina

02/08/2008 - 18:25 por crx73 | Informe spam
Hola a todos, buenos días:

Tengo un programa en excel corriendo bien en la máquina en mi oficina,
pero cuando quiero correrlo en otras máquinas simplemente no corre, me
marca un error, ¿alguna sugerencia?


Option Explicit

'Private Sub Workbook_BeforeClose(Cancel As Boolean)
'Dim Wb As Workbook
'SaveAll
'For Each Wb In Workbooks
' If Wb.Name <> ThisWorkbook.Name Then
' Wb.Close savechanges:=True
' End If
'Next Wb
'ThisWorkbook.Close savechanges:=True

'End Sub

Private Sub Workbook_Open()
Dim Ruta$, Car$, previoStatusBar$, Consulta
Car = "\"
ActiveWorkbook.Author = "Claudio Cruz"
Application.WindowState = xlMaximized
Workbooks("00 - Menu.xls").Activate
ActiveWorkbook.Sheets("Menu").Unprotect ("ed1Tm3Nu")
If ActiveWorkbook.Sheets("Sheet1").Visible = True Then
ActiveWorkbook.Sheets("Menu").Visible = True
ActiveWorkbook.Sheets("Sheet1").Visible = False
End If
ActiveWorkbook.Sheets("Menu").Activate
Range("B5").Activate
Ruta = ActiveCell.Value
Application.ScreenUpdating = False 'Deshabilitamos temporalmente
los avisos de pantalla
previoStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True ' Nos aseguramos que la barra
de estado esté visible
'Abrimos todos los archivos necesarios para la aplicación.
On Error GoTo ManejoErrores
'Proveedores
Range("B5").Activate
Ruta = ActiveCell.Value
Application.StatusBar = "Opening suppliers data..."
Workbooks.Open Filename:=Range("B5").Value & Car & "01 - SDB.xls"
Application.Windows("01 - SDB.xls").Visible = True
ActiveWorkbook.Sheets("Menu").Activate
ActiveWindow.DisplayGridlines = False
Application.Windows("01 - SDB.xls").Visible = False
'Vouchers
Application.StatusBar = "Opening vouchers module..."
Workbooks.Open Filename:=Range("B5").Value & Car & "02 -
VOUCHERS.xls"
Application.Windows("02 - VOUCHERS.xls").Visible = True
ActiveWorkbook.Sheets("1").Activate
ActiveWindow.DisplayGridlines = False
Application.Windows("02 - VOUCHERS.xls").Visible = False
'Respaldos
Application.StatusBar = "Opening backup..."
Workbooks.Open Filename:=Range("B5").Value & Car & "03 -
RESPALDOS.xls"
Application.Windows("03 - RESPALDOS.xls").Visible = True
ActiveWorkbook.Sheets("1").Unprotect Password:="pr0T3ctBackUp"
ActiveWindow.DisplayGridlines = False
ActiveWorkbook.Sheets("1").Protect Password:="pr0T3ctBackUp"
Application.Windows("03 - RESPALDOS.xls").Visible = False
'Catalogo de Cuentas
Application.StatusBar = "Opening Chart of Accounts..."
Workbooks.Open Filename:=Range("B5").Value & Car & "04A - CHART OF
ACCOUNTS.xls"
Application.Windows("04A - CHART OF ACCOUNTS.xls").Visible = True
'ActiveWorkbook.Sheets("1").Unprotect Password:="pr0T3ctBackUp"
'ActiveWindow.DisplayGridlines = False
'ActiveWorkbook.Sheets("1").Protect Password:="pr0T3ctBackUp"
Application.Windows("04A - CHART OF ACCOUNTS.xls").Visible = False
'Costos y Gastos
' Application.StatusBar = "Cargando Catálogo de Costos y Gastos..."
' Workbooks.Open Filename:=Range("B5").Value & Car & "04 - CUENTAS
COSTOS Y GASTOS.xls"
' Application.Windows("04 - CUENTAS COSTOS Y GASTOS.xls").Visible True
'ActiveWorkbook.Sheets("1").Unprotect Password:="pr0T3ctBackUp"
'ActiveWindow.DisplayGridlines = False
'ActiveWorkbook.Sheets("1").Protect Password:="pr0T3ctBackUp"
' Application.Windows("04 - CUENTAS COSTOS Y GASTOS.xls").Visible False

'Finalizando carga
Application.StatusBar = False 'Dejamos la barra de estado en
blanco
Application.DisplayStatusBar = previoStatusBar
Application.ScreenUpdating = True 'Habilitamos nuevamente los
avisos de pantalla
Workbooks("00 - Menu.xls").Activate
ActiveWorkbook.Sheets("Menu").Protect Password:="ed1Tm3Nu",
AllowFiltering:=False, _
AllowUsingPivotTables:=False
Exit Sub
ManejoErrores:
If Err.Number = 1004 Then
Application.StatusBar = False 'Dejamos la barra de estado en
blanco
Application.DisplayStatusBar = previoStatusBar
Application.ScreenUpdating = True 'Habilitamos nuevamente los
avisos de pantalla
Consulta = MsgBox("No se han encontrado los archivos." &
Chr(13) & _
"¿Desea localizar la ruta donde están guardados los
archivos?", vbExclamation + vbYesNo, "Ruta Errónea")
If Consulta = vbYes Then
ActiveWorkbook.Sheets("Menu").Unprotect ("ed1Tm3Nu")
Call getRuta
MsgBox "La ruta seleccionada es: " & Chr(13) &
Range("B5").Value & Car, vbInformation, "Ruta seleccionada"
Resume
Else
ActiveWorkbook.Sheets("Sheet1").Visible = True
ActiveWorkbook.Sheets("Menu").Visible = False
ActiveWorkbook.Sheets("Sheet1").Activate
Range("F8").Select
ActiveWindow.DisplayGridlines = False
Exit Sub
End If
End If
End Sub
Sub getRuta()
Application.GetSaveAsFilename , , , "Seleccione la ruta"
Application.Workbooks("00 - Menu.xls").Activate
ActiveWorkbook.Sheets("Menu").Activate
Range("B5").Select
With ActiveCell
.Value = CurDir
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlCenter
.IndentLevel = 1
.Font.Color = RGB(128, 0, 0)
.Font.Bold = True
End With
With Selection.Interior
.ColorIndex = 36
.Pattern = xlSolid
End With
Range("A1").Activate
End Sub
Public Sub CloseAll()

Dim Wb As Workbook
SaveAll
For Each Wb In Workbooks
If Wb.Name <> ThisWorkbook.Name Then
Wb.Close savechanges:=True
End If
Next Wb
ThisWorkbook.Close savechanges:=True

End Sub

Este código está en el ThisWorkbook.

De antemano, muchas gracias por la ayuda.

Claudio C.

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
02/08/2008 - 19:03 | Informe spam
hola, Claudio !

Tengo un programa en excel corriendo bien en la máquina en mi oficina
pero cuando quiero correrlo en otras maquinas simplemente no corre, me marca un error
alguna sugerencia?



podrias comentar algunos detalles que no se alcanzan a "ver/apreciar/deducir/... de tu consulta ?
- cual es la linea que causa el error ?
- cual es el numero y texto del mensaje de error ?
- hay referencias "perdidas" a librerias en el proyecto de macros de las maquinas donde no corre ?
- en todas las maquinas dispones de la misma version y configuraciones de office / windows / ... ?
- algun detalle que pudiera ser mas significativo ?

en via de mientras, es probable que las lineas donde usas la propiedad Application.Windows(...
esten siendo la causa puesto que indicas el nombre de la ventana incluyendo la EXTension ".xls" y...
(hasta donde se) en los sistemas donde no se muestra la EXTension para los tipos de archivos "registrados"
NO aparece la EXTension como parte del nombre de las "ventanas" de los libros abiertos en la sesion -?-

prueba cambiando las instrucciones donde usas esta propiedad (p.e.)
de: -> Application.Windows("01 - SDB.xls").Visible = True
a: -> Workbooks("01 - SDB.xls").Windows(1).Visible = True

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
Respuesta Responder a este mensaje
#2 crx73
02/08/2008 - 19:56 | Informe spam
On 2 ago, 12:03, "Héctor Miguel"
wrote:
hola, Claudio !

> Tengo un programa en excel corriendo bien en la máquina en mi oficina
> pero cuando quiero correrlo en otras maquinas simplemente no corre, me marca un error
> alguna sugerencia?

podrias comentar algunos detalles que no se alcanzan a "ver/apreciar/deducir/... de tu consulta ?
- cual es la linea que causa el error ?
- cual es el numero y texto del mensaje de error ?
- hay referencias "perdidas" a librerias en el proyecto de macros de las maquinas donde no corre ?
- en todas las maquinas dispones de la misma version y configuraciones de office / windows / ... ?
- algun detalle que pudiera ser mas significativo ?

en via de mientras, es probable que las lineas donde usas la propiedad Application.Windows(...
esten siendo la causa puesto que indicas el nombre de la ventana incluyendo la EXTension ".xls" y...
(hasta donde se) en los sistemas donde no se muestra la EXTension para los tipos de archivos "registrados"
NO aparece la EXTension como parte del nombre de las "ventanas" de los libros abiertos en la sesion    -?-

prueba cambiando las instrucciones donde usas esta propiedad (p.e.)
de: -> Application.Windows("01 - SDB.xls").Visible = True
  a: -> Workbooks("01 - SDB.xls").Windows(1).Visible = True

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.



El texto del error que me marca es "Compile error in hidden module:
ThisWorkbook"
El proyecto VBA está protegido para lectura, pero cuando le quito la
protección de lectura, simplemente el excel se "cuelga".

En todas las maquina que he querido correr la version de windows es
windows xp pro, en cuanto al office, al menos todas son office 2003.
Respuesta Responder a este mensaje
#3 Héctor Miguel
02/08/2008 - 20:24 | Informe spam
hola, Claudio !

El texto del error que me marca es "Compile error in hidden module: ThisWorkbook"
El proyecto VBA esta protegido para lectura, pero cuando le quito la proteccion... simplemente el excel se "cuelga".
En todas las maquina que he querido correr la version de windows es... xp pro, en cuanto al office, al menos todas son... 2003.



1) una parte del error es obvia: ocurre en las macros de un libro que tiene oculta su ventana y/o protegido el proyecto de vba

2) la parte que no es obvia (que linea causa error) y no puedes comprobar (ya que dices que sin la proteccion se cuelga excel)
(supongo que) podria ser el "estilo" de activar las ventanas de los libros usando la propiedad Application.Windows(...".XLS")

3) comprueba (en los equipos donde falla) si teniendo varios libros abiertos se muestra la EXTension en el menu de las ventanas -???-

4) si la EXTension NO se muestra... prueba cambiando las instrucciones segun la sugetencia en el mensaje anterior -?-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __
Tengo un programa en excel corriendo bien en la máquina en mi oficina
pero cuando quiero correrlo en otras maquinas simplemente no corre, me marca un error
alguna sugerencia?



podrias comentar algunos detalles que no se alcanzan a "ver/apreciar/deducir/... de tu consulta ?
- cual es la linea que causa el error ?
- cual es el numero y texto del mensaje de error ?
- hay referencias "perdidas" a librerias en el proyecto de macros de las maquinas donde no corre ?
- en todas las maquinas dispones de la misma version y configuraciones de office / windows / ... ?
- algun detalle que pudiera ser mas significativo ?

en via de mientras, es probable que las lineas donde usas la propiedad Application.Windows(...
esten siendo la causa puesto que indicas el nombre de la ventana incluyendo la EXTension ".xls" y...
(hasta donde se) en los sistemas donde no se muestra la EXTension para los tipos de archivos "registrados"
NO aparece la EXTension como parte del nombre de las "ventanas" de los libros abiertos en la sesion -?-

prueba cambiando las instrucciones donde usas esta propiedad (p.e.)
de: -> Application.Windows("01 - SDB.xls").Visible = True
a: -> Workbooks("01 - SDB.xls").Windows(1).Visible = True
Respuesta Responder a este mensaje
#4 crx73
02/08/2008 - 20:58 | Informe spam
On 2 ago, 13:24, "Héctor Miguel"
wrote:
hola, Claudio !

> El texto del error que me marca es "Compile error in hidden module: ThisWorkbook"
> El proyecto VBA esta protegido para lectura, pero cuando le quito la proteccion... simplemente el excel se "cuelga".
> En todas las maquina que he querido correr la version de windows es... xp pro, en cuanto al office, al menos todas son... 2003.

1) una parte del error es obvia: ocurre en las macros de un libro que tiene oculta su ventana y/o protegido el proyecto de vba

2) la parte que no es obvia (que linea causa error) y no puedes comprobar (ya que dices que sin la proteccion se cuelga excel)
    (supongo que) podria ser el "estilo" de activar las ventanas de los libros usando la propiedad Application.Windows(...".XLS")

3) comprueba (en los equipos donde falla) si teniendo varios libros abiertos se muestra la EXTension en el menu de las ventanas -???-

4) si la EXTension NO se muestra... prueba cambiando las instrucciones segun la sugetencia en el mensaje anterior    -?-

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.

__ OP __



>> Tengo un programa en excel corriendo bien en la máquina en mi oficina
>> pero cuando quiero correrlo en otras maquinas simplemente no corre, me marca un error
>> alguna sugerencia?

> podrias comentar algunos detalles que no se alcanzan a "ver/apreciar/deducir/... de tu consulta ?
> - cual es la linea que causa el error ?
> - cual es el numero y texto del mensaje de error ?
> - hay referencias "perdidas" a librerias en el proyecto de macros de las maquinas donde no corre ?
> - en todas las maquinas dispones de la misma version y configuraciones de office / windows / ... ?
> - algun detalle que pudiera ser mas significativo ?

> en via de mientras, es probable que las lineas donde usas la propiedad Application.Windows(...
> esten siendo la causa puesto que indicas el nombre de la ventana incluyendo la EXTension ".xls" y...
> (hasta donde se) en los sistemas donde no se muestra la EXTension para los tipos de archivos "registrados"
> NO aparece la EXTension como parte del nombre de las "ventanas" de los libros abiertos en la sesion -?-

> prueba cambiando las instrucciones donde usas esta propiedad (p.e.)
> de: -> Application.Windows("01 - SDB.xls").Visible = True
> a: -> Workbooks("01 - SDB.xls").Windows(1).Visible = True- Ocultar texto de la cita -

- Mostrar texto de la cita -



Hechos los cambios sugeridos y ahora me marca el siguiente error:

Compile error:
Can't find project o library

Y aparece seleccionado la primera vez q palabra Chr de la siguiente
parte del codigo:

ManejoErrores:
If Err.Number = 1004 Then
Application.StatusBar = False 'Dejamos la barra de estado en
blanco
Application.DisplayStatusBar = previoStatusBar
Application.ScreenUpdating = True 'Habilitamos nuevamente los
avisos de pantalla
Consulta = MsgBox("No se han encontrado los archivos." &
Chr(13) & _
"¿Desea localizar la ruta donde están guardados los
archivos?", vbExclamation + vbYesNo, "Ruta Errónea")
If Consulta = vbYes Then
ActiveWorkbook.Sheets("Menu").Unprotect ("ed1Tm3Nu")
Call getRuta
MsgBox "La ruta seleccionada es: " & Chr(13) &
Range("B5").Value & Car, vbInformation, "Ruta seleccionada"
Resume
Else
ActiveWorkbook.Sheets("Sheet1").Visible = True
ActiveWorkbook.Sheets("Menu").Visible = False
ActiveWorkbook.Sheets("Sheet1").Activate
Range("F8").Select
ActiveWindow.DisplayGridlines = False
Exit Sub
End If
End If
Respuesta Responder a este mensaje
#5 Héctor Miguel
02/08/2008 - 21:45 | Informe spam
hola, Claudio !

Hechos los cambios sugeridos y ahora me marca el siguiente error:
Compile error: Can't find project o library
Y aparece seleccionado la primera vez q palabra Chr de la siguiente parte del codigo: (...)



(hasta donde se) cuando un codigo indica como causa de error a funciones basicas de vba (como date, right, mid, chr, etc.)
(generalmente) se debe a referencias perdidas, nombres "ambiguos" (o duplicados) que vba no puede resolver

1) de tu consulta original, habia una (re)pregunta para que comprobaras si (por casualidad)...
- hay referencias "perdidas" a librerias en el proyecto de macros de las maquinas donde no corre ?





2) en donde NO corre, comprueba si en el proyecto de macros hay referencias "perdidas" a librerias
(menu) herramientas / referencias
-> busca alguna que diga FALTA: xxx o MISSING: xxx

3) si se trata de alguna de las normales, pudiera ser necesario re-registrar excel (en el registro de windows)
-> desde el boton inicio -> ejecutar -> excel /regserver
(es probable que debas especificar la ruta completa al excel delimitada por comillas dobles)
(p.e. -> "c:\archivos de programa\microsoft office\office\excel.exe" /regserver <-)

-> otra (posible) causa del error seria si (p.e.) al simplemente iniciar excel NO aparece el (normal) libro1 en blanco
(en ese caso) pudiera tratarse de algun virus que se "auto-carga" desde algun directorio de inicio (xlstart???)

comentas (si hubiera) algun detalle adicional ?
saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida