我用来收集文本InputBox的当前函数显然不能接受超过255个字符,而且我需要能够收集比这更多的东西?是否有一个参数或不同的功能可以用来增加此限制?克服VBA输入框字符限制
回答
要迂回,Inputbox将允许您键入最多255个字符,但它只会返回254个字符。
除此之外,是的,你需要创建一个带有文本框的简单表单。接下来,只要一点点“辅助函数”是这样的:
Function getBigInput(prompt As String) As String
frmBigInputBox.Caption = prompt
frmBigInputBox.Show
getBigInput = frmBigInputBox.txtStuff.Text
End Function
或类似的东西...
不应该像这样''frmBigInputBox.myLabel.caption = prompt'这样的标签,否则一切都在窗体/窗口的顶部栏中。 – mountainclimber 2017-09-11 15:34:09
感谢BradC的信息说。我的最终代码大致如下,我有一个按钮,用于调用我创建的表单,并定位它,因为我在第一次使用后每次都发现表单存在一些问题。
Sub InsertNotesAttempt()
NoteEntryForm.Show
With NoteEntryForm
.Top = 125
.Left = 125
End With
End Sub
userform是一个TextBox和两个CommandButtons(Cancel和Ok)。对于按钮的代码如下:
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
我没有足够的代表处发表评论,但在子的Form_Load的助手,你可以添加:
me.AutoCenter = True
之外的形式,你可以做这样的:
NoteEntryForm.Show
Forms("NoteEntryForm").AutoCenter = True
我的访问形式让所有困惑,当我从我的两个额外的显示器去上班时我一个额外的显示器在家里,并在角落里有时会丢失。这个AutoCenter已经将它变成了我的每一个表单的表单属性。
欢迎来到本网站!如你所知,这不会尝试回答发布的问题,而应该是一条评论。 [请仅使用Answers来回答问题](// meta.stackoverflow.com/q/92107)。要批评或要求作者澄清,在他们的帖子下留下评论 - 你总是可以评论你自己的帖子,一旦你有足够的声誉(// stackoverflow.com/help/whats-reputation),你将能够[评论任何帖子](// stackoverflow.com/help/privileges/comment)。同时,请不要使用回复来发表评论。 – Mogsdad 2016-05-13 14:05:03
- 1. 限制JTextField字符输入
- 2. 输入限制字符数
- 3. 什么是服务现在字符限制,并限制字符输入SNOW
- 4. 输入文字的字符数限制
- 5. jQuery HtmlBox限制字数/字符输入
- 6. 将VBA userform文本框中的输入限制为仅限数字
- 7. 的Android EDITTEXT限制输入的字符
- 8. JavaScript限制文本输入字符
- 9. 文本输入字符限制
- 10. 如何限制输入的字符数
- 11. 用户输入的TinyMCE限制字符
- 12. 限制输入到text_field的字符
- 13. 限制输入到UITextField的字符数
- 14. 限制输入无效字符 - jquery-validate
- 15. 多个动态输入字符限制
- 16. 限制最大字符输入
- 17. 如何限制EditText框输入小数点后两个字符?
- 18. 限制在文本框中允许的字符(输入金额)
- 19. C#文本框限制输入字符和快捷键
- 20. 在文本框输入中限制字符
- 21. 如何验证限制用户输入的文本框|字符
- 22. (Python)如何将输入框限制为最多2个字符
- 23. 对话框将输入限制为只能输入数字
- 24. 克隆输入框
- 25. jquery:仅限数字输入,但也限制字符数
- 26. 限制输入中的字符/字符串/字
- 27. NumberPad限制数字输入
- 28. 限制输入一个字
- 29. cakephp字段输入限制
- 30. EditText输入限制500字?
为什么使用InputBox?小型表单和文本框几乎总是一个更好的主意。 – Fionnuala 2010-06-03 20:31:02
@Remou〜因为这需要更多的代码,并且对于新开发人员来说并不总是很容易使用,而InputBox具有高度的可访问性。否则+1 – jcolebrand 2010-06-03 20:33:57
〜我不认为这会花费更长的字符串,SOL ...按照@ Remou的建议。 – jcolebrand 2010-06-03 20:34:21