Foros del Web » Programación para mayores de 30 ;) » Programación General »

error: variable de tipo object o la variable...

Estas en el tema de error: variable de tipo object o la variable... en el foro de Programación General en Foros del Web. Por favor, necesito que alguien me diga que error es este (91), y como se puede solucionar. esto ya lo plantearon ayer, pero no se ...
  #1 (permalink)  
Antiguo 18/11/2004, 03:00
 
Fecha de Ingreso: noviembre-2004
Mensajes: 45
Antigüedad: 19 años, 5 meses
Puntos: 0
Exclamación error: variable de tipo object o la variable...

Por favor, necesito que alguien me diga que error es este (91), y como se puede solucionar.

esto ya lo plantearon ayer, pero no se llego a ninguna conclusion...
lo que hago es llamar a una funcion que esta dentro de un modulo, desde un formulario.

el error es:
"variable de tipo object o la variable de bloque with no esta establecida".
lo da nada mas entrar a la funcion.
si alguien puede ayudarme........
gracias!!!!
  #2 (permalink)  
Antiguo 18/11/2004, 04:11
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
¿Podrias poner el código del procedimiento que te tira el error?
  #3 (permalink)  
Antiguo 18/11/2004, 04:32
 
Fecha de Ingreso: noviembre-2004
Mensajes: 45
Antigüedad: 19 años, 5 meses
Puntos: 0
Hola Lucasiramos:
el codigo es este:

llamo a una funcion que esta en un modulo estandar, desde un formulario:
'formulario:
Call RellenarMarcas

'modulo estandar:
Public Function RellenarMarcas()
Call objWord.WDEscribirEnMarca(Nom.text, Nom.tag)
Call objWord.WDEscribirEnMarca(Apell.text, Apell.tag)
Call objWord.WDEscribirEnMarca(Dir.text, Dir.tag)
Call objWord.WDEscribirEnMarca(Pob.text, Pob.tag)
Call objWord.WDEscribirEnMarca(Prov.text, Prov.tag)
Call objWord.WDEscribirEnMarca(cpostal.text, cpostal.tag)
Call objWord.WDEscribirEnMarca(nif.text, nif.tag)
Call objWord.WDEscribirEnMarca(fechan.text, fechan.tag)
Call objWord.WDEscribirEnMarca(Eda.text, Eda.tag)
Call objWord.WDEscribirEnMarca(Emp.text, Emp.tag)
Call objWord.WDEscribirEnMarca(fechai.text, fechai.tag)
Call objWord.WDEscribirEnMarca(Tip.text, Tip.tag)
Call objWord.WDEscribirEnMarca(Sex.text, Sex.tag)
Call objWord.WDEscribirEnMarca(prof.text, prof.tag)
Call objWord.WDEscribirEnMarca(Tel.text, Tel.tag)
Call objWord.WDEscribirEnMarca(letr.text, letr.tag)
End Function

'modulo de clase:
Public Sub WDEscribirEnMarca(sTexto As String, sName As String)
For Each marca In docWord.ActiveDocument.Bookmarks
If marca.Name = sName Then
docWord.ActiveDocument.Bookmarks(sName).Range.Inse rtAfter text:=sTexto
End If
Next marca
End Sub
me da el error en la primera linea del modulo de clase.
Puedes ayudarme???
Gracias......
  #4 (permalink)  
Antiguo 18/11/2004, 06:16
Avatar de lucasiramos  
Fecha de Ingreso: agosto-2004
Ubicación: Santa Rosa, La Pampa, Argentina
Mensajes: 1.484
Antigüedad: 19 años, 8 meses
Puntos: 13
A ver... A ver...

Este tipo de errores se da cuando haces referencia a una variable de objeto (Un Recordset, por ejemplo) que todavia no hace referencia a un objeto válido. En el caso del recordset seria, definir la variable y sin abrir una tabla, querer meterle datos con un INSERT, por ejemplo.

En tu caso debes fijarte como definis la variable, si la instanciaste correctamente. Como seria ...

'Definicion de formulario

Private WithEvents LaVariable as LaClase

'Load del formulario

Set LaVariable = New LaClase 'ACA ESTAMOS INSTANCIANDO

¿A ver si funciona?
Saludos. Lucas
  #5 (permalink)  
Antiguo 18/11/2004, 06:42
 
Fecha de Ingreso: noviembre-2004
Mensajes: 45
Antigüedad: 19 años, 5 meses
Puntos: 0
Muchas gracias por contestarme, pero no me funciona...
Seguiré con probatinas, porque no tengo idea de por donde tirar...
Si se te ocurre algo, me cuentas...
Saludossssssssss
  #6 (permalink)  
Antiguo 18/11/2004, 09:13
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 20 años, 5 meses
Puntos: 0
Donde pones

Código:
For Each marca ....
marca donde lo declaras y de que tipo????

Saludos.
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<
  #7 (permalink)  
Antiguo 18/11/2004, 09:20
 
Fecha de Ingreso: noviembre-2004
Mensajes: 45
Antigüedad: 19 años, 5 meses
Puntos: 0
A ver....
Tengo otro proyecto hecho ya, donde la función en la que me da error, es la misma, y no está declarada "marca" en ningún sitio, ya que actúa como un contador, y no me pide declaración.
Así que la copié, exactamente igual, y me da este error.
¿"marca" tendría que ser una variable de un type, declarado en un módulo estándar???
Voy a probarlo, y te digo...
Perdona por mis explicaciones; no son muy buenas...
Gracias..
  #8 (permalink)  
Antiguo 18/11/2004, 09:34
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 20 años, 5 meses
Puntos: 0
Algo que no había visto, se supone que docWord es un objeto al que previamente (por lo que veo) deberías haber echo un set una aplicacion Winword, verdad?
El problema debe de estar en esta variable, es lo único que te podría devolver ese error.

Saludos.
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<
  #9 (permalink)  
Antiguo 18/11/2004, 09:58
 
Fecha de Ingreso: noviembre-2004
Mensajes: 45
Antigüedad: 19 años, 5 meses
Puntos: 0
GRACIASSSSSSSSSSSS Lic dahol !!!!!!!!!!!!
Ha funcionado, lo que pasa que me escribe caracteres raros, y me da otro error: no me cierra el fichero y me da el error: "Incosistencia de tipos"...
¿No sabrás por qué es?
  #10 (permalink)  
Antiguo 18/11/2004, 10:20
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 20 años, 5 meses
Puntos: 0
Quiero creer que los caracteres raros los escribe en el doc de word, es así?

En este caso habría que hacer un debug del código y ver dónde esta el problema, es decir, si esta en la función o si viene arrastrando de antes.
El error "inconsistencia de tipos" en que parte del código se produce?
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<
  #11 (permalink)  
Antiguo 18/11/2004, 10:43
 
Fecha de Ingreso: noviembre-2004
Mensajes: 45
Antigüedad: 19 años, 5 meses
Puntos: 0
docWord.Documents.Close ficheroNuevo

aqui me da el error; al intentar cerrar el fichero.
he hecho el debug, y el error no viene de antes, sino que se produce concretamente en esta linea.
  #12 (permalink)  
Antiguo 18/11/2004, 11:24
Avatar de lic_dahool  
Fecha de Ingreso: noviembre-2003
Mensajes: 418
Antigüedad: 20 años, 5 meses
Puntos: 0
la sintaxis correcta del método Close sería:

Código:
docWord.Documents.Close [GuardarCambios], [Formato], ficheroNuevo
[GuardarCambios] y [Formato] son opcionales y usa valores de constantes propios de word, por ejemplo, en [GuardarCambios] las opciones pueden ser: No Guardar, Preguntar Si Guardar, Guardar.
Los valores de estas constantes puedes obtenerlos desde Word.

Si no incluyes las constantes, en tu caso sería:

Código:
docWord.Documents.Close , , ficheroNuevo

Espero te haya sido útil.

Saludos.
__________________
La cantidad total de inteligencia del planeta permanece constante.
La población, sin embargo, sigue aumentando.

COLE


:cool: Los ordenadores no resuelven problemas ... ejecutan soluciones.
Laurent Gasser


Tienes alguna duda :pensando: ? >>> www.google.com :aplauso: <<<

Última edición por lic_dahool; 18/11/2004 a las 11:26
  #13 (permalink)  
Antiguo 19/11/2004, 01:05
 
Fecha de Ingreso: noviembre-2004
Mensajes: 45
Antigüedad: 19 años, 5 meses
Puntos: 0
Muchas gracias!!!
Esto era lo que necesitaba; me ha funcionado.
Gracias por tu ayuda, y.....hasta otra......
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:35.