Barra de menú > Edición



  • Bueno, creando una barra de menú, se me surgio un problema en la seccion Edición.
    Los problemas son con los botones:
    • Copiar
    • Pegar
    • Cortar

    Y ademas, pero con menor importancia:
    ○ Deshacer
    ○ Rehacer

    El problema es que, yo tengo un programa, en el cual hay muchos textboxs, y quiero que al clickear el boton Copiar, por ejemplo, se me copie el texto seleccionado.
    La cosa es que, yo no uso en este programa un richtextbox, como en los bloqs de notas o en Word.
    Estube averiguando, pero la unica forma que encontre es copiar el texto de UN SOLO textbox, o se me pegue el texto en UN SOLO textbox.

    Estas son las formas que encontré.

    • Para Copiar

    Clipboard.Clear
    Clipboard.SetText text1.SelText
    text1.SetFocus

    • Para Pegar

    text1.SelText = Clipboard.GetText()
    text1.SetFocus

    Estube intentando poniendole un OR, o haciendolo con IF, pero la verdad no encontré la forma, y ya no se donde buscar.
    Si alguien lo sabe, agradecería que me lo dijese.

    Saludos ^^



  • A que te referis con "un solo textbox" ? El copiar seria como cuando vos seleccionas algo y lo copias, no podes copiar de 2 textbox simultaneos… explicame mejor a que te referis y cuando llego a casa te ayudo



  • @KennY®:

    A que te referis con "un solo textbox" ? El copiar seria como cuando vos seleccionas algo y lo copias, no podes copiar de 2 textbox simultaneos… explicame mejor a que te referis y cuando llego a casa te ayudo

    Haber, la cosa es asi.
    Yo selecciono un texto, y clickeo en el boton "copiar"; hasta ahi todo bien.
    El problema es que el boton COPIAR, sola y unicamente esta vinculado con ese textbox(1), es decir que si selecciono el texto del textbox(2), o cualquier otro que no sea el 1, y clickeo en el boton Copiar, no funciona.
    En conclusion, el boton copiar esta vinculado UNICAMENTE con el textbox seleccionado (Segun el codigo puesto por MI anteriormente)
    Lo mismo es con el boton PEGAR, y CORTAR (están vinculados unicamnete con un textbox)



  • Ya que a simple vista no se me ocurre alguna propiedad para saber donde estas, te recomiendo algo que se me vino recien a la mente. Crea una variable global del tipo TextBox. En el evento "GotFocus" de cada textbox que tengas, pone un "Set TuVariable = NombreDeTuText"

    Ejemplo: 2 textbox y un button

    Dim asd As TextBox

    Private Sub Command1_Click()
    MsgBox asd.Text
    End Sub

    Private Sub Text1_GotFocus()
    Set asd = Text1
    End Sub

    Private Sub Text2_GotFocus()
    Set asd = Text2
    End Sub



  • @KennY®:

    Ya que a simple vista no se me ocurre alguna propiedad para saber donde estas, te recomiendo algo que se me vino recien a la mente. Crea una variable global del tipo TextBox. En el evento "GotFocus" de cada textbox que tengas, pone un "Set TuVariable = NombreDeTuText"

    Segui tu ejemplo, y lo establecí en el boton copiar, dejando esto :

    Dim asd As TextBox

    Private Sub Command1_Click()

    Clipboard.Clear
    Clipboard.SetText asd.SelText
    asd.SetFocus

    End Sub

    Pero, al hacer estoy, me salta el siguiente error:

    Variable de tipo OBJECT o la variable del bloque With, no está establecida (error 91)

    Cambie una cosa por otra, modifique parte del codigo, pero no hay caso.
    Lo que no se si se podria hacer (a mi no me salio), es poner que me copie el texto del textbox(1), o textbox(2), etc.
    Osea, poniendo un "OR" (pero no con ese termino, debido a que no me funcionó -.-)

    Muchas gracias por tu ayuda.
    Si me resloves este problemita seria bastante bueno, pero se hace lo que se puede.
    Por mi parte, seguiré investigando para ver si encuentro la forma de resolver el problema.

    Saludos ^^



  • Asegurate de que cuando asignas a "asd" (que le meti yo ese nombre pero puede ser cualquiera) sea con un SET adelante y no con un "=" solamente.

    Tambien es probable q ese error lo tire porque asd no tenga contenido, es decir que en ningun momento haya obtenido el foco algun text, y se haya asignado a asd ese textbox.

    Fijate, y decime en que linea te tira el error



  • @KennY®:

    Asegurate de que cuando asignas a "asd" (que le meti yo ese nombre pero puede ser cualquiera) sea con un SET adelante y no con un "=" solamente

    COMO NO ME DI CUENTA!
    Dejé pasar algo importantisimo!
    Funciona ahora el boton!

    Realmente, muchas gracias por todo 🙂 !



  • De nada 😃


Log in to reply