• Viernes 8 de Noviembre de 2024, 19:06

Mostrar Mensajes

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
Visual Basic 6.0 e inferiores / OLE con tabla de excel modificada en tiempo real
« 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:



Código: Text
  1. Private objExcel As Object
  2.  
  3. Private xLibro As Object
  4.  
  5. Private Sub Timer1_Timer()
  6. text1.text = cells(1, 2)
  7. End Sub
  8.  
  9. Private Sub Command1_Click()
  10. Dim Col As Integer, Fila As Integer
  11. Set objExcel = New Excel.Application
  12. Set xLibro = objExcel.Workbooks.Open("C:hoja.xls")
  13. objExcel.Visible = True
  14.     With xLibro
  15.         With .Sheets(1)
  16.         text1.text = cells(1, 2)
  17.         cells(2, 2) = Text2.Text
  18.         End With
  19.     End With
  20. End Sub  
  21.  

2
Visual Basic 6.0 e inferiores / Re: Formato de textos bloqueados en vb6.0
« en: Sábado 16 de Agosto de 2008, 12:35 »
Vale gracias. Ya me ha funcionado.

3
Visual Basic 6.0 e inferiores / Formato de textos bloqueados en vb6.0
« en: Jueves 7 de Agosto de 2008, 19:55 »
Hola
Tengo esta operación:
Código: Text
  1. Private Sub Command1_Click()
  2. Text7(0) = ((Val(Text13) * Val(Text1) * Val(Text1)) / 8) + ((Val(Text22) * Val(Text1) * Val(Text1)) / 8) + ((Val(Text31) * Val(Text1) * Val(Text1)) / 8)
  3. End Sub
  4.  
  5.  
y en los textbox text13, text1, text22 y text31 le he puesto el siguiente código:
Código: Text
  1. Option Explicit
  2. Dim sDecimal As String
  3.  
  4. Private Sub Form_Load()
  5.     ' comprueba el formato numérico del sistema
  6.     sDecimal = Format(0.1, "#.#")
  7.     sDecimal = IIf(InStr(sDecimal, ","), ",", ".")
  8. End sub
  9.  
  10. Private Sub Text1_KeyPress(keyascii As Integer)
  11.     Dim sCar As String * 1
  12.     sCar = Chr(keyascii)
  13.    
  14.     If sCar = "." Or sCar = "," Then
  15.         ' comprueba si se ha pulsado coma o punto y lo convierte a punto
  16.         keyascii = IIf(sDecimal = ".", 44, 46)
  17.         sCar = Chr(keyascii)
  18.         ' si ya se ha puesto un punto decimal, no admite otro
  19.         If (InStr(Text1, sCar) > 0) Then
  20.              keyascii = 0
  21.              Exit Sub
  22.         End If
  23.     ElseIf InStr("0123456789.," & Chr(8), sCar) = 0 Then
  24.         ' sólo admite números, signo negativo, punto, coma y retroceso
  25.         keyascii = 0
  26.         Exit Sub
  27.         ' comprueba que el signo menos esté sólo al principio
  28.         ' Nota: Si no queremos negativos, quitar esta condición
  29.     ElseIf sCar = "-" Then
  30.         If InStr(2, "-", Text1) = 0 Then
  31.              keyascii = 0
  32.         End If
  33.     End If
  34. End Sub
  35.  

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
Visual Basic 6.0 e inferiores / Re: Formato de números en VB6.0.
« 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
Visual Basic 6.0 e inferiores / Formato de números en VB6.0.
« 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]