Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

error 1004

Estas en el tema de error 1004 en el foro de Visual Basic clásico en Foros del Web. hola expertos, una consulta me ha salido un error '1004' Application-defined or object-defined error, en esta linea del codigo :Hoja.Cells(indice, 23).AddComment Text:=frmPrincipal.presentacion.Text Cabe decir que ...
  #1 (permalink)  
Antiguo 30/11/2009, 09:26
 
Fecha de Ingreso: noviembre-2009
Mensajes: 14
Antigüedad: 14 años, 5 meses
Puntos: 0
Pregunta error 1004

hola expertos,

una consulta me ha salido un error '1004' Application-defined or object-defined error, en esta linea del codigo :Hoja.Cells(indice, 23).AddComment Text:=frmPrincipal.presentacion.Text

Cabe decir que estuvo funcionando sin ningun problema, quice agregar otro txtbox y comenzo a aprecer este error, ya lo quite y me sigue apareciendo el error. espero puedan ayudarme

CODIGO

Private Sub Ingresar_Click()
Dim openExcel As New excel.Application
Dim Libro As excel.Workbook, Hoja As excel.Worksheet

MsgBox "Datos Ingresados"

openExcel.Visible = False
Dim indice As Integer
Set Libro = openExcel.Workbooks.Open("\\Gabi\d\Base de Datos\base de datos.xls")
Set Hoja = Libro.Worksheets(1)
'Aca guardamos la ultima columna ocupada

For indice = 2 To 500

If Hoja.Cells(indice, 23).FormulaR1C1 = "" Then

If Option1.Value = True Then Hoja.Cells(indice, 23).FormulaR1C1 = Option1.Caption
If Option2.Value = True Then Hoja.Cells(indice, 23).FormulaR1C1 = Option2.Caption
If Option3.Value = True Then Hoja.Cells(indice, 23).FormulaR1C1 = Option3.Caption

Hoja.Cells(indice, 23).AddComment Text:=frmPrincipal.presentacion.Text <--------ERROR

If Option4.Value = True Then Hoja.Cells(indice, 24).FormulaR1C1 = Option4.Caption
If Option5.Value = True Then Hoja.Cells(indice, 24).FormulaR1C1 = Option5.Caption
If Option6.Value = True Then Hoja.Cells(indice, 24).FormulaR1C1 = Option6.Caption

Hoja.Cells(indice, 24).AddComment Text:=frmPrincipal.Text2.Text


Exit For
End If


Next indice

'Esto es para que no te de el mensaje que el archivo ya existe
openExcel.DisplayAlerts = False
Libro.Save
'Activamos los alertas nuevamente
openExcel.DisplayAlerts = True
Libro.Close
End Sub



Saludos y muchas gracias!!
  #2 (permalink)  
Antiguo 30/11/2009, 13:04
 
Fecha de Ingreso: agosto-2005
Ubicación: Cienfuegos, Cuba
Mensajes: 15
Antigüedad: 18 años, 8 meses
Puntos: 0
Respuesta: error 1004

Eso me parece a un problema de seguridad, te aconsejo que intentes abrir el libro de excel al margen de Vb, es posible que alguna operación no válida te haya dañado el Documento o eliminarlo y crearlo de nuevo (si es posible)
  #3 (permalink)  
Antiguo 30/11/2009, 14:54
 
Fecha de Ingreso: noviembre-2009
Mensajes: 14
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: error 1004

Ya descubri porque me sale ese error, lo que sucede es que necesariamente debo escribir en el textbox que hace referencia al comentario, si no lo hago me produce ese error. Pero y si no quisiera colocar un comentario porque no amerita la situación?, Que deberia agregar a mi codigo para que este no salte error y acepte un comentario en blanco?

GRacias de antemano!!
  #4 (permalink)  
Antiguo 30/11/2009, 14:55
 
Fecha de Ingreso: noviembre-2009
Mensajes: 14
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: error 1004

Ya descubri porque me sale ese error, lo que sucede es que necesariamente debo escribir en el textbox que hace referencia al comentario, si no lo hago me produce ese error. Pero y si no quisiera colocar un comentario porque no amerita la situación?, Que deberia agregar a mi codigo para que este no salte error y acepte un comentario en blanco?

GRacias de antemano!!

Perdon repeti sin querer mi respuesta :S
  #5 (permalink)  
Antiguo 30/11/2009, 15:08
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 17 años, 9 meses
Puntos: 29
Respuesta: error 1004

Podrías usar los eventos presentacion_Change o presentacion_LostFocus para controlar que el textbox nunca quede vacío, pero son ganas de complicarse la vida.
Lo más sencillo es incluir una línea delante que lo compruebe y repare:

If frmPrincipal.presentacion.Text ="" Then frmPrincipal.presentacion.Text =" "

Comprueba si admite un caracter espacio y si no usa otro caracter o una palabra como "Vacio" que cuando cargues el dato puedas reemplazar por "" cada vez que vayas a cargar el textbox.
Para eso si puedes usar el evento presentacion_Change del textbox y poner algo como:

If presentacion.Text = "Vacio" Then presentacion.Text = ""

Saludos
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!
  #6 (permalink)  
Antiguo 30/11/2009, 15:09
Avatar de erbuson  
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: error 1004

Hola:

Es solo una idea, yo pienso que debes comparar el valor del TextBox y si este es Nulo en lugar del .AddComments utilizar el .ClearComments

Es una intuición, ignoro si es esto pero por si te sirve de ayuda.

Saludos
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 10:08.