La función actual que uso para recopilar texto InputBox no puede aceptar más de 255 caracteres aparentemente, ¿y debo poder recoger más que eso? ¿Hay algún parámetro o función diferente que pueda usar para aumentar este límite?Superar Límite de caracteres de cuadro de entrada de VBA
Respuesta
Para ser pedante, Inputbox te permitirá escribir hasta 255 caracteres, pero solo devolverá 254 caracteres.
Más allá de eso, sí, tendrá que crear un formulario simple con un cuadro de texto. A continuación, sólo hacer un poco de algo "función auxiliar" como:
Function getBigInput(prompt As String) As String
frmBigInputBox.Caption = prompt
frmBigInputBox.Show
getBigInput = frmBigInputBox.txtStuff.Text
End Function
o algo por el estilo ...
no debería estar en una etiqueta como esta 'frmBigInputBox.myLabel.caption = prompt' de lo contrario, todo está en la barra superior de la forma/ventana. – mountainclimber
Gracias BradC por la información que. Mi código final era más o menos del siguiente modo: tengo un botón que llama al formulario que creé y lo posiciono un poco, ya que tenía problemas con el formulario que estaba en el lugar equivocado cada vez después de la primera vez que lo usé.
Sub InsertNotesAttempt()
NoteEntryForm.Show
With NoteEntryForm
.Top = 125
.Left = 125
End With
End Sub
La forma de usuario era un Cuadro de texto y dos CommandButtons (Cancelar y Aceptar). El código de los botones fue el siguiente:
Private Sub CancelButton_Click()
Unload NoteEntryForm
End Sub
Private Sub OkButton_Click()
Dim UserNotes As String
UserNotes = NotesInput.Text
Application.ScreenUpdating = False
If UserNotes = "" Then
NoteEntryForm.Hide
Exit Sub
End If
Worksheets("Notes").ListObjects("Notes").ListRows.Add (1)
Worksheets("Notes").Range("Notes").Cells(1, 1) = Date
Worksheets("Notes").Range("Notes").Cells(1, 2) = UserNotes
Worksheets("Notes").Range("Notes").Cells(1, 2).WrapText = True
' Crap fix to get the wrap to work. I noticed that after I inserted another row the previous rows
' word wrap property would kick in. So I just add in and delete a row to force that behaviour.
Worksheets("Notes").ListObjects("Notes").ListRows.Add (1)
Worksheets("Notes").Range("Notes").Item(1).Delete
NotesInput.Text = vbNullString
NotesInput.SetFocus ' Retains focus on text entry box instead of command button.
NoteEntryForm.Hide
Application.ScreenUpdating = True
End Sub
no tengo representante suficiente para comentar, pero en el Sub Form_Load para el ayudante puede agregar:
me.AutoCenter = True
Fuera de esa forma, puedes hacerlo de esta manera:
NoteEntryForm.Show
Forms("NoteEntryForm").AutoCenter = True
Mis formas de acceso obtener todos confundidos cuando voy de mis dos monitores adicionales en el trabajo para mi un monitor extra en casa, ya veces se pierden en la esquina. Este AutoCenter lo ha convertido en las propiedades de formulario de cada uno de mis formularios.
¡Bienvenido al sitio! Esto no intenta responder a la pregunta publicada, como ya sabe, y debería ser un comentario. [Por favor, use Respuestas exclusivamente para responder la pregunta] (// meta.stackoverflow.com/q/92107). Para criticar o solicitar aclaraciones de un autor, deje un comentario debajo de su publicación; siempre puede comentar sus propias publicaciones, y una vez que tenga [reputación suficiente] (// stackoverflow.com/help/whats-reputation) podrá para [comentar cualquier publicación] (// stackoverflow.com/help/privileges/comment). Mientras tanto, no utilices las respuestas para publicar comentarios. – Mogsdad
- 1. Texto de límite de Jquery en el cuadro de entrada
- 2. asp cuadro de texto límite número de caracteres?
- 3. Límite de caracteres en HTML
- 4. Juego de caracteres Oracle JDBC y límite de caracteres 4000
- 5. Alineación de cuadro de entrada?
- 6. Entrada de cuadro de validación
- 7. Límite de tamaño de matriz VBA de Excel 2007
- 8. Moverse por límite de caracteres mailto/href/url
- 9. Cuadro de entrada HTML - Deshabilitar
- 10. Límite de caracteres para System.out.println() en Java
- 11. sqlcmd - ¿Cómo superar el límite de longitud de columna sin espacios vacíos?
- 12. ¿Crear un cuadro de diálogo de entrada?
- 13. Tipo de entrada WPF/cuadro de diálogo?
- 14. JOptionPane - cuadro de diálogo de entrada programa
- 15. Límite de longitud variable de caracteres de PostgreSQL
- 16. Límite de caracteres de notificaciones push de iPhone
- 17. Automatización de Internet Explorer con eventos de entrada de VBA
- 18. Issue Parsing XML Document using SaxParser - ¿límite de 2047 caracteres?
- 19. VBA cuadro de lista de varias columnas añadir
- 20. JQuery: cuadro de entrada vacío onclick
- 21. detectar pegar en el cuadro de entrada
- 22. Limitar cuadro de entrada a 0-100
- 23. Detectar pegar en el cuadro de entrada
- 24. Enfoque Cuadro de entrada En carga
- 25. ¿Hay alguna forma de evitar el límite de 500 caracteres cuando se fuerzan expresiones a caracteres que usan as.character?
- 26. Problemas al interpretar expresiones de cuadro de celda de entrada
- 27. Entrada de usuario en un cuadro de diálogo de mensaje
- 28. Desplazamientos de texto fuera del límite del cuadro UITextView
- 29. Impedir la entrada de caracteres especiales al campo de texto html
- 30. sobresalir texto extracto de vba- entre 2 caracteres
¿Por qué un InputBox? Una forma pequeña y un cuadro de texto son casi siempre una mejor idea. – Fionnuala
@Remou ~ porque eso requiere mucho más código y no siempre es fácil de usar para el nuevo desarrollador, mientras que InputBox es altamente accesible. De lo contrario +1 – jcolebrand
~ No creo que tome una cadena más larga, SOL ... Sigue los consejos de @ Remou. – jcolebrand