6

テキストの収集に使用している現在の関数InputBoxは、明らかに255文字を超える文字を受け入れることができず、それ以上の文字を収集できる必要がありますか?この制限を増やすために使用できるパラメーターまたは別の関数はありますか?

4

3 に答える 3

5

衒学的であるために、入力ボックスでは最大255文字を入力できますが、返されるのは254文字のみです。

それを超えて、はい、テキストボックスを使用して単純なフォームを作成する必要があります。次に、次のような小さな「ヘルパー関数」を作成します。

Function getBigInput(prompt As String) As String
    frmBigInputBox.Caption = prompt
    frmBigInputBox.Show
    getBigInput = frmBigInputBox.txtStuff.Text
End Function

またはそのようなもの...

于 2010-06-03T21:15:09.677 に答える
2

その情報を提供してくれたBradCに感謝します。最終的なコードはおおまかに次のようになりました。最初に使用した後は毎回フォームが間違った場所にあるという問題があったため、作成したフォームを呼び出して少し配置するボタンがあります。

Sub InsertNotesAttempt()
    NoteEntryForm.Show
    With NoteEntryForm
        .Top = 125
        .Left = 125
    End With
End Sub

ユーザーフォームは、TextBoxと2つのコマンドボタン(キャンセルと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
于 2010-06-07T15:00:52.143 に答える
1

コメントするのに十分な担当者がいませんが、ヘルパーのサブform_loadに次を追加できます。

me.AutoCenter = True

そのフォームの外では、次のように実行できます。

NoteEntryForm.Show
Forms("NoteEntryForm").AutoCenter = True

職場の2台の追加モニターから自宅の1台の追加モニターに移動すると、アクセスフォームがすべて混乱し、隅で紛失することがあります。このAutoCenterは、私のすべてのフォームのフォームプロパティになりました。

于 2016-05-06T20:36:27.837 に答える