|
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
Mensajes - javiergarciaperez
Páginas: [1]
1
« en: Sábado 16 de Agosto de 2008, 12:36 »
Hola. Estoy haciendo un programa en el que meto una serie de números en unos textbox y quiero que pulsando un commandbutton esos números aparezcan en unas celda determinadas de una tabla de excel contenida en un OLE. Después, como esa tabla de Excel tiene unas funciones, que con esos datos que se han introducido se realicen las operaciones fijadas en la tabla de excel y aparezca el resultado en una celda, y que ese resultado aparezca en otro textbox. Esto lo se hacer si me refiero a una hoja de excel que tenga en el ordenador, pero no si está contenida en un OLE, y necesito que esté en un OLE para que se vea la tabla sin necesidad de abrir el Excel y que todo vaya automático para que el usuario no tenga que tocar la tabla de excel, solo introducir los datos en los textbox y ver el resultado final en el otro textbox. ¿Esto se puede hacer? ¿Me podéis redponder? Gracias. Os mando el código con el que lo se hacer sin el OLE, es decir haciendo que se abra la tabla de excel: Private objExcel As Object Private xLibro As Object Private Sub Timer1_Timer() text1.text = cells(1, 2) End Sub Private Sub Command1_Click() Dim Col As Integer, Fila As Integer Set objExcel = New Excel.Application Set xLibro = objExcel.Workbooks.Open("C:hoja.xls") objExcel.Visible = True With xLibro With .Sheets(1) text1.text = cells(1, 2) cells(2, 2) = Text2.Text End With End With End Sub
2
« en: Sábado 16 de Agosto de 2008, 12:35 »
Vale gracias. Ya me ha funcionado.
3
« en: Jueves 7 de Agosto de 2008, 19:55 »
Hola Tengo esta operación: Private Sub Command1_Click() Text7(0) = ((Val(Text13) * Val(Text1) * Val(Text1)) / 8) + ((Val(Text22) * Val(Text1) * Val(Text1)) / 8) + ((Val(Text31) * Val(Text1) * Val(Text1)) / 8) End Sub
y en los textbox text13, text1, text22 y text31 le he puesto el siguiente código: Option Explicit Dim sDecimal As String Private Sub Form_Load() ' comprueba el formato numérico del sistema sDecimal = Format(0.1, "#.#") sDecimal = IIf(InStr(sDecimal, ","), ",", ".") End sub Private Sub Text1_KeyPress(keyascii As Integer) Dim sCar As String * 1 sCar = Chr(keyascii) If sCar = "." Or sCar = "," Then ' comprueba si se ha pulsado coma o punto y lo convierte a punto keyascii = IIf(sDecimal = ".", 44, 46) sCar = Chr(keyascii) ' si ya se ha puesto un punto decimal, no admite otro If (InStr(Text1, sCar) > 0) Then keyascii = 0 Exit Sub End If ElseIf InStr("0123456789.," & Chr(8), sCar) = 0 Then ' sólo admite números, signo negativo, punto, coma y retroceso keyascii = 0 Exit Sub ' comprueba que el signo menos esté sólo al principio ' Nota: Si no queremos negativos, quitar esta condición ElseIf sCar = "-" Then If InStr(2, "-", Text1) = 0 Then keyascii = 0 End If End If End Sub
Con este código solo puedo introducir en los textbox text13, text1, text22 y text31 números, el símbolo -, y el punto (".") como separador de decimales. El problema que hay es que el resultado de la operación en el text7(0) me sale con separación de decimales la coma (","), y necesito que sea el punto para poder seguir operando con el text7(0), que está bloqueado para que no se pueda escribir sobre él, solo puede aparecer el resultado de la operación anterior. ¿Me podéis ayudar? Gracias.
4
« en: Lunes 4 de Agosto de 2008, 20:14 »
Gracias por responder. Lo he solucionado con lo que dices, con la función Val en todos los textbox, lo que pasa que he tenido que poner que la separación decimal se represente siempre con el punto, para que Val no de error. Gracias. Un saludo.
5
« en: Domingo 3 de Agosto de 2008, 21:54 »
Hola. Estoy haciendo un programa en el que hay dos textbox. Dependiendo de los valores que haya en esos textbox aparece una imagen u otra:
caso 1º) si el textbox1<((textbox2)/2) entonces se ve la imagen 1 caso 2º) si el textbox1=textbox2 entonces se ve la imagen 2 caso 3º) si el textbox1>((textbox2)/2) entonces se ve la imagen 3
El problema que tengo es que mientras el número del textbox1 sea menor que 10 funciona correctamente, pero si es mayor de 10 solo funciona para los dos primeros casos. ¿Me podéis ayudar? Muchas gracias.
Os mando el código, por si sirve de algo: Código PHP: If Text1 = 0 Or Text1 = Text2 Then Picture71(0).Visible = True Picture80(0).Visible = True End If If Text1 < ((Text2) / 2) And Text1 > 0 Then Picture71(20).Visible = True Picture80(5).Visible = True End If If Text1 = ((Text2) / 2) Then Picture71(16).Visible = True Picture80(4).Visible = True End If If Text1 > ((Text2) / 2) And Text1 < Text2 Then Picture71(24).Visible = True Picture80(6).Visible = True End If Y este es el código de los textos para que solo se puedan meter números: Código PHP: Option Explicit
Dim sDecimal As String
Private Sub Text1_KeyPress(KeyAscii As Integer) Dim sCar As String * 1 sCar = Chr(KeyAscii) If sCar = "." Or sCar = "," Then ' comprueba si se ha pulsado coma o punto y lo convierte al ' formato del sistema KeyAscii = IIf(sDecimal = ",", 44, 46) sCar = Chr(KeyAscii) ' si ya se ha puesto un punto decimal, no admite otro If (InStr(Text1, sCar) > 0) Then KeyAscii = 0 Exit Sub End If ElseIf InStr("0123456789.," & Chr(8), sCar) = 0 Then ' sólo admite números, signo negativo, punto, coma y retroceso KeyAscii = 0 Exit Sub ' comprueba que el signo menos esté sólo al principio ' Nota: Si no queremos negativos, quitar esta condición ElseIf sCar = "-" Then If InStr(2, "-", Text1) = 0 Then KeyAscii = 0 End If End If End Sub
Páginas: [1]
|
|
|