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

#6 crx73
04/08/2008 - 15:39 | Informe spam
On 2 ago, 14:45, "Héctor Miguel"
wrote:
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.



Buenos días, me aparece:

MISSING: Ref Edit Control

Debo re-registrar el excel?


Saludos
Respuesta Responder a este mensaje
#7 Héctor Miguel
04/08/2008 - 21:17 | Informe spam
hola, Claudio !

... me aparece: MISSING: Ref Edit Control
Debo re-registrar el excel?



no "necesariamente" (me explico):

1) del codigo que expusiste en tu consulta inicial (no se si sea todo ?)
NO se ve ninguna referencia a algun control RefEdit

2) es probable que se hubiera quedado establecida la referencia a la libreria del control
solamente en el libro original (y en la pc donde se hizo el proyecto que SI debio existir)

3) si NO existe algun control RefEdit que sea utilizado por algun procedimiento en "ese" proyecto de macros
seria suficiente con DEseleccionar/DESmarcar/... la referencia a la libreria
desde el editor de vba / (menu) herramientas / referencias...
(si realmente se hace alguna llamada a dicho control, no podras quitar su referencia)

4) en caso de que SI sea necesario el control (por algun otro procedimiento), la solucion seria...
=> (re)instalar office y asegurase que se se marcan las caracteristicas "opcionales" que no se instalaron inicialmente
=> panel de control) agregar/quitar programas... (sigue al asistente y utiliza una instalacion PERSONALIZADA
(esto, obviamente en cada pc donde se ha presentado esta falla al ejecutar el codigo) ;)

si cualquier duda (o informacion adicional)... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida