+ Reply to Thread
Results 1 to 14 of 14

Maximum length Prompt in Application.InputBox

Hybrid View

  1. #1
    RB Smissaert
    Guest

    Maximum length Prompt in Application.InputBox

    Was caught out by the fact that the maximum length of the Prompt in
    Application.InputBox is much less than in the
    regular InputBox. The trouble was that the error you get is Runtime error
    13: Type mismatch, so I was looking at the
    datatypes of the different arguments, but the trouble is not with those.
    The other trouble was that this seems to be mentioned nowhere.

    It looks the maximum lenght of the Prompt with Application.InputBox is 256:

    Sub test()

    Dim i As Long
    Dim lResult As Long
    Dim strResult As String

    On Error GoTo PAST1
    For i = 245 To 400
    SendKeys "{ENTER}", False
    lResult = Application.InputBox(String(i, "x"), "title", 10, Type:=1)
    Next

    PAST1:
    MsgBox i, , "maximum prompt length with Application.InputBox"
    MsgBox i, , "maximum prompt length with Application.InputBox"

    On Error GoTo PAST2
    For i = 200 To 10000
    SendKeys "{ENTER}", False
    strResult = InputBox(String(i, "x"), "title", "a")
    Next

    PAST2:
    MsgBox i, , "maximum prompt length with InputBox"
    MsgBox i, , "maximum prompt length with InputBox"

    End Sub


    Haven't found the maximum yet with the regular InputBox, but it is much
    more.

    Is this is a known problem? I suppose it is.
    Is there a workaround? I suppose not.


    RBS


  2. #2
    Dave Peterson
    Guest

    Re: Maximum length Prompt in Application.InputBox

    I don't ever recall using an inputbox to get a long string like that (even 255
    characters).

    Maybe designing a form and using a textbox would be a way around it.

    RB Smissaert wrote:
    >
    > Was caught out by the fact that the maximum length of the Prompt in
    > Application.InputBox is much less than in the
    > regular InputBox. The trouble was that the error you get is Runtime error
    > 13: Type mismatch, so I was looking at the
    > datatypes of the different arguments, but the trouble is not with those.
    > The other trouble was that this seems to be mentioned nowhere.
    >
    > It looks the maximum lenght of the Prompt with Application.InputBox is 256:
    >
    > Sub test()
    >
    > Dim i As Long
    > Dim lResult As Long
    > Dim strResult As String
    >
    > On Error GoTo PAST1
    > For i = 245 To 400
    > SendKeys "{ENTER}", False
    > lResult = Application.InputBox(String(i, "x"), "title", 10, Type:=1)
    > Next
    >
    > PAST1:
    > MsgBox i, , "maximum prompt length with Application.InputBox"
    > MsgBox i, , "maximum prompt length with Application.InputBox"
    >
    > On Error GoTo PAST2
    > For i = 200 To 10000
    > SendKeys "{ENTER}", False
    > strResult = InputBox(String(i, "x"), "title", "a")
    > Next
    >
    > PAST2:
    > MsgBox i, , "maximum prompt length with InputBox"
    > MsgBox i, , "maximum prompt length with InputBox"
    >
    > End Sub
    >
    > Haven't found the maximum yet with the regular InputBox, but it is much
    > more.
    >
    > Is this is a known problem? I suppose it is.
    > Is there a workaround? I suppose not.
    >
    > RBS


    --

    Dave Peterson

  3. #3
    Dave Peterson
    Guest

    Re: Maximum length Prompt in Application.InputBox

    And if you're really concerned about the length of the string returned, why use
    application.inputbox at all.

    You're probably not getting a number, formula, range, ....

    RB Smissaert wrote:
    >
    > Was caught out by the fact that the maximum length of the Prompt in
    > Application.InputBox is much less than in the
    > regular InputBox. The trouble was that the error you get is Runtime error
    > 13: Type mismatch, so I was looking at the
    > datatypes of the different arguments, but the trouble is not with those.
    > The other trouble was that this seems to be mentioned nowhere.
    >
    > It looks the maximum lenght of the Prompt with Application.InputBox is 256:
    >
    > Sub test()
    >
    > Dim i As Long
    > Dim lResult As Long
    > Dim strResult As String
    >
    > On Error GoTo PAST1
    > For i = 245 To 400
    > SendKeys "{ENTER}", False
    > lResult = Application.InputBox(String(i, "x"), "title", 10, Type:=1)
    > Next
    >
    > PAST1:
    > MsgBox i, , "maximum prompt length with Application.InputBox"
    > MsgBox i, , "maximum prompt length with Application.InputBox"
    >
    > On Error GoTo PAST2
    > For i = 200 To 10000
    > SendKeys "{ENTER}", False
    > strResult = InputBox(String(i, "x"), "title", "a")
    > Next
    >
    > PAST2:
    > MsgBox i, , "maximum prompt length with InputBox"
    > MsgBox i, , "maximum prompt length with InputBox"
    >
    > End Sub
    >
    > Haven't found the maximum yet with the regular InputBox, but it is much
    > more.
    >
    > Is this is a known problem? I suppose it is.
    > Is there a workaround? I suppose not.
    >
    > RBS


    --

    Dave Peterson

  4. #4
    Dave Peterson
    Guest

    Re: Maximum length Prompt in Application.InputBox

    It looks like the VBA inputbox is 254 characters.

    Please ignore the previous message.



    Dave Peterson wrote:
    >
    > And if you're really concerned about the length of the string returned, why use
    > application.inputbox at all.
    >
    > You're probably not getting a number, formula, range, ....
    >
    > RB Smissaert wrote:
    > >
    > > Was caught out by the fact that the maximum length of the Prompt in
    > > Application.InputBox is much less than in the
    > > regular InputBox. The trouble was that the error you get is Runtime error
    > > 13: Type mismatch, so I was looking at the
    > > datatypes of the different arguments, but the trouble is not with those.
    > > The other trouble was that this seems to be mentioned nowhere.
    > >
    > > It looks the maximum lenght of the Prompt with Application.InputBox is 256:
    > >
    > > Sub test()
    > >
    > > Dim i As Long
    > > Dim lResult As Long
    > > Dim strResult As String
    > >
    > > On Error GoTo PAST1
    > > For i = 245 To 400
    > > SendKeys "{ENTER}", False
    > > lResult = Application.InputBox(String(i, "x"), "title", 10, Type:=1)
    > > Next
    > >
    > > PAST1:
    > > MsgBox i, , "maximum prompt length with Application.InputBox"
    > > MsgBox i, , "maximum prompt length with Application.InputBox"
    > >
    > > On Error GoTo PAST2
    > > For i = 200 To 10000
    > > SendKeys "{ENTER}", False
    > > strResult = InputBox(String(i, "x"), "title", "a")
    > > Next
    > >
    > > PAST2:
    > > MsgBox i, , "maximum prompt length with InputBox"
    > > MsgBox i, , "maximum prompt length with InputBox"
    > >
    > > End Sub
    > >
    > > Haven't found the maximum yet with the regular InputBox, but it is much
    > > more.
    > >
    > > Is this is a known problem? I suppose it is.
    > > Is there a workaround? I suppose not.
    > >
    > > RBS

    >
    > --
    >
    > Dave Peterson


    --

    Dave Peterson

  5. #5
    Tom Ogilvy
    Guest

    Re: Maximum length Prompt in Application.InputBox

    RTP <g>

    --
    Regards,
    Tom Ogilvy

    "Dave Peterson" <[email protected]> wrote in message
    news:[email protected]...
    > It looks like the VBA inputbox is 254 characters.
    >
    > Please ignore the previous message.
    >
    >
    >
    > Dave Peterson wrote:
    > >
    > > And if you're really concerned about the length of the string returned,

    why use
    > > application.inputbox at all.
    > >
    > > You're probably not getting a number, formula, range, ....
    > >
    > > RB Smissaert wrote:
    > > >
    > > > Was caught out by the fact that the maximum length of the Prompt in
    > > > Application.InputBox is much less than in the
    > > > regular InputBox. The trouble was that the error you get is Runtime

    error
    > > > 13: Type mismatch, so I was looking at the
    > > > datatypes of the different arguments, but the trouble is not with

    those.
    > > > The other trouble was that this seems to be mentioned nowhere.
    > > >
    > > > It looks the maximum lenght of the Prompt with Application.InputBox is

    256:
    > > >
    > > > Sub test()
    > > >
    > > > Dim i As Long
    > > > Dim lResult As Long
    > > > Dim strResult As String
    > > >
    > > > On Error GoTo PAST1
    > > > For i = 245 To 400
    > > > SendKeys "{ENTER}", False
    > > > lResult = Application.InputBox(String(i, "x"), "title", 10,

    Type:=1)
    > > > Next
    > > >
    > > > PAST1:
    > > > MsgBox i, , "maximum prompt length with Application.InputBox"
    > > > MsgBox i, , "maximum prompt length with Application.InputBox"
    > > >
    > > > On Error GoTo PAST2
    > > > For i = 200 To 10000
    > > > SendKeys "{ENTER}", False
    > > > strResult = InputBox(String(i, "x"), "title", "a")
    > > > Next
    > > >
    > > > PAST2:
    > > > MsgBox i, , "maximum prompt length with InputBox"
    > > > MsgBox i, , "maximum prompt length with InputBox"
    > > >
    > > > End Sub
    > > >
    > > > Haven't found the maximum yet with the regular InputBox, but it is

    much
    > > > more.
    > > >
    > > > Is this is a known problem? I suppose it is.
    > > > Is there a workaround? I suppose not.
    > > >
    > > > RBS

    > >
    > > --
    > >
    > > Dave Peterson

    >
    > --
    >
    > Dave Peterson




  6. #6
    Dave Peterson
    Guest

    Re: Maximum length Prompt in Application.InputBox

    Thank you for your support! <bg>

    (It's still more fun to answer the question I read--not the question that was
    written!)

    Tom Ogilvy wrote:
    >
    > RTP <g>
    >
    > --
    > Regards,
    > Tom Ogilvy
    >
    > "Dave Peterson" <[email protected]> wrote in message
    > news:[email protected]...
    > > It looks like the VBA inputbox is 254 characters.
    > >
    > > Please ignore the previous message.
    > >
    > >
    > >
    > > Dave Peterson wrote:
    > > >
    > > > And if you're really concerned about the length of the string returned,

    > why use
    > > > application.inputbox at all.
    > > >
    > > > You're probably not getting a number, formula, range, ....
    > > >
    > > > RB Smissaert wrote:
    > > > >
    > > > > Was caught out by the fact that the maximum length of the Prompt in
    > > > > Application.InputBox is much less than in the
    > > > > regular InputBox. The trouble was that the error you get is Runtime

    > error
    > > > > 13: Type mismatch, so I was looking at the
    > > > > datatypes of the different arguments, but the trouble is not with

    > those.
    > > > > The other trouble was that this seems to be mentioned nowhere.
    > > > >
    > > > > It looks the maximum lenght of the Prompt with Application.InputBox is

    > 256:
    > > > >
    > > > > Sub test()
    > > > >
    > > > > Dim i As Long
    > > > > Dim lResult As Long
    > > > > Dim strResult As String
    > > > >
    > > > > On Error GoTo PAST1
    > > > > For i = 245 To 400
    > > > > SendKeys "{ENTER}", False
    > > > > lResult = Application.InputBox(String(i, "x"), "title", 10,

    > Type:=1)
    > > > > Next
    > > > >
    > > > > PAST1:
    > > > > MsgBox i, , "maximum prompt length with Application.InputBox"
    > > > > MsgBox i, , "maximum prompt length with Application.InputBox"
    > > > >
    > > > > On Error GoTo PAST2
    > > > > For i = 200 To 10000
    > > > > SendKeys "{ENTER}", False
    > > > > strResult = InputBox(String(i, "x"), "title", "a")
    > > > > Next
    > > > >
    > > > > PAST2:
    > > > > MsgBox i, , "maximum prompt length with InputBox"
    > > > > MsgBox i, , "maximum prompt length with InputBox"
    > > > >
    > > > > End Sub
    > > > >
    > > > > Haven't found the maximum yet with the regular InputBox, but it is

    > much
    > > > > more.
    > > > >
    > > > > Is this is a known problem? I suppose it is.
    > > > > Is there a workaround? I suppose not.
    > > > >
    > > > > RBS
    > > >
    > > > --
    > > >
    > > > Dave Peterson

    > >
    > > --
    > >
    > > Dave Peterson


    --

    Dave Peterson

  7. #7
    Tom Ogilvy
    Guest

    Re: Maximum length Prompt in Application.InputBox

    You were persistent. I will give you that <g>


    --
    Regards,
    Tom Ogilvy

    "Dave Peterson" <[email protected]> wrote in message
    news:[email protected]...
    > Thank you for your support! <bg>
    >
    > (It's still more fun to answer the question I read--not the question that

    was
    > written!)
    >
    > Tom Ogilvy wrote:
    > >
    > > RTP <g>
    > >
    > > --
    > > Regards,
    > > Tom Ogilvy
    > >
    > > "Dave Peterson" <[email protected]> wrote in message
    > > news:[email protected]...
    > > > It looks like the VBA inputbox is 254 characters.
    > > >
    > > > Please ignore the previous message.
    > > >
    > > >
    > > >
    > > > Dave Peterson wrote:
    > > > >
    > > > > And if you're really concerned about the length of the string

    returned,
    > > why use
    > > > > application.inputbox at all.
    > > > >
    > > > > You're probably not getting a number, formula, range, ....
    > > > >
    > > > > RB Smissaert wrote:
    > > > > >
    > > > > > Was caught out by the fact that the maximum length of the Prompt

    in
    > > > > > Application.InputBox is much less than in the
    > > > > > regular InputBox. The trouble was that the error you get is

    Runtime
    > > error
    > > > > > 13: Type mismatch, so I was looking at the
    > > > > > datatypes of the different arguments, but the trouble is not with

    > > those.
    > > > > > The other trouble was that this seems to be mentioned nowhere.
    > > > > >
    > > > > > It looks the maximum lenght of the Prompt with

    Application.InputBox is
    > > 256:
    > > > > >
    > > > > > Sub test()
    > > > > >
    > > > > > Dim i As Long
    > > > > > Dim lResult As Long
    > > > > > Dim strResult As String
    > > > > >
    > > > > > On Error GoTo PAST1
    > > > > > For i = 245 To 400
    > > > > > SendKeys "{ENTER}", False
    > > > > > lResult = Application.InputBox(String(i, "x"), "title", 10,

    > > Type:=1)
    > > > > > Next
    > > > > >
    > > > > > PAST1:
    > > > > > MsgBox i, , "maximum prompt length with Application.InputBox"
    > > > > > MsgBox i, , "maximum prompt length with Application.InputBox"
    > > > > >
    > > > > > On Error GoTo PAST2
    > > > > > For i = 200 To 10000
    > > > > > SendKeys "{ENTER}", False
    > > > > > strResult = InputBox(String(i, "x"), "title", "a")
    > > > > > Next
    > > > > >
    > > > > > PAST2:
    > > > > > MsgBox i, , "maximum prompt length with InputBox"
    > > > > > MsgBox i, , "maximum prompt length with InputBox"
    > > > > >
    > > > > > End Sub
    > > > > >
    > > > > > Haven't found the maximum yet with the regular InputBox, but it is

    > > much
    > > > > > more.
    > > > > >
    > > > > > Is this is a known problem? I suppose it is.
    > > > > > Is there a workaround? I suppose not.
    > > > > >
    > > > > > RBS
    > > > >
    > > > > --
    > > > >
    > > > > Dave Peterson
    > > >
    > > > --
    > > >
    > > > Dave Peterson

    >
    > --
    >
    > Dave Peterson




  8. #8
    RB Smissaert
    Guest

    Re: Maximum length Prompt in Application.InputBox

    I am not talking about the return from the function, but the Prompt
    argument.

    RBS


    "Dave Peterson" <[email protected]> wrote in message
    news:[email protected]...
    > And if you're really concerned about the length of the string returned,
    > why use
    > application.inputbox at all.
    >
    > You're probably not getting a number, formula, range, ....
    >
    > RB Smissaert wrote:
    >>
    >> Was caught out by the fact that the maximum length of the Prompt in
    >> Application.InputBox is much less than in the
    >> regular InputBox. The trouble was that the error you get is Runtime error
    >> 13: Type mismatch, so I was looking at the
    >> datatypes of the different arguments, but the trouble is not with those.
    >> The other trouble was that this seems to be mentioned nowhere.
    >>
    >> It looks the maximum lenght of the Prompt with Application.InputBox is
    >> 256:
    >>
    >> Sub test()
    >>
    >> Dim i As Long
    >> Dim lResult As Long
    >> Dim strResult As String
    >>
    >> On Error GoTo PAST1
    >> For i = 245 To 400
    >> SendKeys "{ENTER}", False
    >> lResult = Application.InputBox(String(i, "x"), "title", 10, Type:=1)
    >> Next
    >>
    >> PAST1:
    >> MsgBox i, , "maximum prompt length with Application.InputBox"
    >> MsgBox i, , "maximum prompt length with Application.InputBox"
    >>
    >> On Error GoTo PAST2
    >> For i = 200 To 10000
    >> SendKeys "{ENTER}", False
    >> strResult = InputBox(String(i, "x"), "title", "a")
    >> Next
    >>
    >> PAST2:
    >> MsgBox i, , "maximum prompt length with InputBox"
    >> MsgBox i, , "maximum prompt length with InputBox"
    >>
    >> End Sub
    >>
    >> Haven't found the maximum yet with the regular InputBox, but it is much
    >> more.
    >>
    >> Is this is a known problem? I suppose it is.
    >> Is there a workaround? I suppose not.
    >>
    >> RBS

    >
    > --
    >
    > Dave Peterson



  9. #9
    Dave Peterson
    Guest

    Re: Maximum length Prompt in Application.InputBox

    Oh. Nevermind.

    But there are limits to everything (well, almost).

    If you do need a longer prompt, maybe a userform would be better.

    RB Smissaert wrote:
    >
    > I am not talking about the return from the function, but the Prompt
    > argument.
    >
    > RBS
    >
    > "Dave Peterson" <[email protected]> wrote in message
    > news:[email protected]...
    > > And if you're really concerned about the length of the string returned,
    > > why use
    > > application.inputbox at all.
    > >
    > > You're probably not getting a number, formula, range, ....
    > >
    > > RB Smissaert wrote:
    > >>
    > >> Was caught out by the fact that the maximum length of the Prompt in
    > >> Application.InputBox is much less than in the
    > >> regular InputBox. The trouble was that the error you get is Runtime error
    > >> 13: Type mismatch, so I was looking at the
    > >> datatypes of the different arguments, but the trouble is not with those.
    > >> The other trouble was that this seems to be mentioned nowhere.
    > >>
    > >> It looks the maximum lenght of the Prompt with Application.InputBox is
    > >> 256:
    > >>
    > >> Sub test()
    > >>
    > >> Dim i As Long
    > >> Dim lResult As Long
    > >> Dim strResult As String
    > >>
    > >> On Error GoTo PAST1
    > >> For i = 245 To 400
    > >> SendKeys "{ENTER}", False
    > >> lResult = Application.InputBox(String(i, "x"), "title", 10, Type:=1)
    > >> Next
    > >>
    > >> PAST1:
    > >> MsgBox i, , "maximum prompt length with Application.InputBox"
    > >> MsgBox i, , "maximum prompt length with Application.InputBox"
    > >>
    > >> On Error GoTo PAST2
    > >> For i = 200 To 10000
    > >> SendKeys "{ENTER}", False
    > >> strResult = InputBox(String(i, "x"), "title", "a")
    > >> Next
    > >>
    > >> PAST2:
    > >> MsgBox i, , "maximum prompt length with InputBox"
    > >> MsgBox i, , "maximum prompt length with InputBox"
    > >>
    > >> End Sub
    > >>
    > >> Haven't found the maximum yet with the regular InputBox, but it is much
    > >> more.
    > >>
    > >> Is this is a known problem? I suppose it is.
    > >> Is there a workaround? I suppose not.
    > >>
    > >> RBS

    > >
    > > --
    > >
    > > Dave Peterson


    --

    Dave Peterson

  10. #10
    RB Smissaert
    Guest

    Re: Maximum length Prompt in Application.InputBox

    I will just shorten the prompts.
    I don't want to add more userforms as this add-in is big
    enough already.
    Maybe an option might be to put it in an VB6 ActiveX dll
    or make a form on the fly.

    RBS

    "Dave Peterson" <[email protected]> wrote in message
    news:[email protected]...
    > Oh. Nevermind.
    >
    > But there are limits to everything (well, almost).
    >
    > If you do need a longer prompt, maybe a userform would be better.
    >
    > RB Smissaert wrote:
    >>
    >> I am not talking about the return from the function, but the Prompt
    >> argument.
    >>
    >> RBS
    >>
    >> "Dave Peterson" <[email protected]> wrote in message
    >> news:[email protected]...
    >> > And if you're really concerned about the length of the string returned,
    >> > why use
    >> > application.inputbox at all.
    >> >
    >> > You're probably not getting a number, formula, range, ....
    >> >
    >> > RB Smissaert wrote:
    >> >>
    >> >> Was caught out by the fact that the maximum length of the Prompt in
    >> >> Application.InputBox is much less than in the
    >> >> regular InputBox. The trouble was that the error you get is Runtime
    >> >> error
    >> >> 13: Type mismatch, so I was looking at the
    >> >> datatypes of the different arguments, but the trouble is not with
    >> >> those.
    >> >> The other trouble was that this seems to be mentioned nowhere.
    >> >>
    >> >> It looks the maximum lenght of the Prompt with Application.InputBox is
    >> >> 256:
    >> >>
    >> >> Sub test()
    >> >>
    >> >> Dim i As Long
    >> >> Dim lResult As Long
    >> >> Dim strResult As String
    >> >>
    >> >> On Error GoTo PAST1
    >> >> For i = 245 To 400
    >> >> SendKeys "{ENTER}", False
    >> >> lResult = Application.InputBox(String(i, "x"), "title", 10,
    >> >> Type:=1)
    >> >> Next
    >> >>
    >> >> PAST1:
    >> >> MsgBox i, , "maximum prompt length with Application.InputBox"
    >> >> MsgBox i, , "maximum prompt length with Application.InputBox"
    >> >>
    >> >> On Error GoTo PAST2
    >> >> For i = 200 To 10000
    >> >> SendKeys "{ENTER}", False
    >> >> strResult = InputBox(String(i, "x"), "title", "a")
    >> >> Next
    >> >>
    >> >> PAST2:
    >> >> MsgBox i, , "maximum prompt length with InputBox"
    >> >> MsgBox i, , "maximum prompt length with InputBox"
    >> >>
    >> >> End Sub
    >> >>
    >> >> Haven't found the maximum yet with the regular InputBox, but it is
    >> >> much
    >> >> more.
    >> >>
    >> >> Is this is a known problem? I suppose it is.
    >> >> Is there a workaround? I suppose not.
    >> >>
    >> >> RBS
    >> >
    >> > --
    >> >
    >> > Dave Peterson

    >
    > --
    >
    > Dave Peterson



+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1