Visual Basic - el bucle controlado

Life is soft - evento anual de software empresarial
 
Vista:

el bucle controlado

Publicado por carlos (22 intervenciones) el 25/11/2005 18:55:13
me sale error, estoy cansado pero no puedo parar, me colabora alguien en este codigo, es un inicio de como debo hacerlo, que entre al timer y me llene las celdas, pero no lo hace, me dice que falta un onjeto

Public Sub Command1_Click()

'CREAMOS EL ARCHIVO DE EXCEL
Arch = App.Path & "/" & Format(Date, "d-m-yyyy") & "--" & Format(Time, "h-m-s") & Estado & ".xls"
Set ApExcel = CreateObject("Excel.application")

'SE LE Agrega un nuevo Libro
ApExcel.Workbooks.Add
A = 3
Timer1.Enabled = True 'Arrancamos el bucle (creo)
Call Timer1_Timer
Timer1.Enabled = False
i = 1

'cambiamos el nombre de la hoja 1
ApExcel.Worksheets(1).Name = "nombre"

'guardamos cerramos y quitamos excel
ApExcel.Worksheets(1).SaveAs Arch
ApExcel.Workbooks.Close
ApExcel.Quit
Set ApExcel = Nothing

Timer1.Enabled = True

End Sub

Private Sub Form_Load()
Dim Arch
Dim Hora
Dim A, Prueba As Integer
Dim Estado As String
Dim Bandera As Integer
Dim ApExcel As Variant
End Sub

Public Sub Timer1_Timer()

'Poner Titulos

Hora = Format(Time, "h:m:s")
ApExcel.cells(1, 1).Formula = "Sala"
ApExcel.cells(1, 1).Font.Size = 18
ApExcel.cells(2, 1).Formula = "Tiempo Transcurrido"
ApExcel.cells(2, 2).Formula = "A"
ApExcel.cells(2, 3).Formula = "Cantidad A"
ApExcel.cells(2, 4).Formula = "B"
ApExcel.cells(2, 5).Formula = "Cantidad B"
ApExcel.cells(2, 6).Formula = "Total"
ApExcel.cells(A, 1).Formula = Hora
ApExcel.cells(A, 2).Formula = 500
ApExcel.cells(A, 3).Formula = Prueba + 20
ApExcel.cells(A, 4).Formula = 500
ApExcel.cells(A, 5).Formula = Prueba + 22
A = A + 1
i = i +1
If i > 5 Then
Timer1.Enabled = False
End If


End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:el bucle controlado

Publicado por ivan (463 intervenciones) el 25/11/2005 19:06:01
Dónde te marca que falta el objeto....???

Creo que en el código del Command1 haces enabled = true el timer... pero inmediatamente después lo pones en false, cuando estuve haciendo las pruebas al hacer eso no me ejecutaba el timer1_timer

En una parte lo pones TRUE y en otra parte diferente lo debes de poner en False para que pare su ejecución.. así como lo tienes en el evento Timer

Por lo pronto quita esto del Command1_Click..

Call Timer1_Timer
Timer1.Enabled = False

A ver si acaso te funciona... Suerte...!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:el bucle controlado

Publicado por Carlos (22 intervenciones) el 25/11/2005 19:17:33
en la linea
ApExcel.cells(1, 1).Formula = "Sala"

me saca ese error.

y si quito las 2 lineas que me dijiste, no veo que entre al timer, solo me ejecuta lo del click
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:el bucle controlado

Publicado por ivan (463 intervenciones) el 25/11/2005 19:50:19
Tendrás que esperar a checar el código... voy a copiarlo para correrlo y ver como puedo corregirlo....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:el bucle controlado

Publicado por ivan (463 intervenciones) el 25/11/2005 20:22:13
Corregido y aumentado... lo probé y si funcionó... le hice unos cambios ojalá te funcione...:

' AL PRINCIPIO DEL CODIGO DE TU FORMULARIO DECLARA LAS VARIABLES
' PARA QUE PUEDAN SER LEIDAS POR CUALQUIER SUB
' TU PROBLEMA ERA QUE LAS DECLARABAS EN EL FORM_LOAD
' Y LAS QUERIAS LEER EN EL TIMER1_TIMER

Dim ApExcel As Variant
Dim Arch
Dim Hora
Dim A, Prueba As Integer
Dim Estado As String
Dim Bandera As Integer

Private Sub Form_Load()
Timer1.Enabled = False
End Sub

Private Sub Command1_Click()
'CREAMOS EL ARCHIVO DE EXCEL
Arch = App.Path & "\" & Format(Date, "d-m-yyyy") & "--" & Format(Time, "h-m-s") & Estado & ".xls"
Set ApExcel = CreateObject("Excel.application")
'SE LE Agrega un nuevo Libro
ApExcel.Workbooks.Add
ApExcel.Visible = True
A = 3
Timer1.Enabled = True 'Arrancamos el bucle (creo)
i = 1
End Sub

Private Sub Timer1_Timer()
Hora = Format(Time, "h:m:s")
ApExcel.Cells(1, 1).Formula = "Sala"
ApExcel.Cells(1, 1).Font.Size = 18
ApExcel.Cells(2, 1).Formula = "Tiempo Transcurrido"
ApExcel.Cells(2, 2).Formula = "A"
ApExcel.Cells(2, 3).Formula = "Cantidad A"
ApExcel.Cells(2, 4).Formula = "B"
ApExcel.Cells(2, 5).Formula = "Cantidad B"
ApExcel.Cells(2, 6).Formula = "Total"
ApExcel.Cells(A, 1).Formula = Hora
ApExcel.Cells(A, 2).Formula = 500
ApExcel.Cells(A, 3).Formula = Prueba + 20
ApExcel.Cells(A, 4).Formula = 500
ApExcel.Cells(A, 5).Formula = Prueba + 22
A = A + 1
i = i + 1
If i > 5 Then
Timer1.Enabled = False
'cambiamos el nombre de la hoja 1
ApExcel.Worksheets(1).Name = "nombre"
'guardamos cerramos y quitamos excel
ApExcel.Worksheets(1).SaveAs Arch
ApExcel.Workbooks.Close
ApExcel.Quit
Set ApExcel = Nothing
Timer1.Enabled = False
End If
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:el bucle controlado

Publicado por Carlos (22 intervenciones) el 28/11/2005 14:47:20
bueno, me funciona y te lo agradezco en el alma, el bucle va agregando los datos cada 5 segundos, pero al pulsar el boton no me cierra ese archivo y crea uno nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar