Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


14428 / 76734 ←次へ | 前へ→

【67802】Re:テキストボックスに文字を出す
回答  UO3  - 11/1/10(月) 17:41 -

引用なし
パスワード
   ▼あきら さん:

>テキストボックスはある規定文字数以上の文字を出力しようとしても、
>表示されないような気がします。
>教えていただいたコードで多い文字数を試したのですが
>表示されませんでした。
>この文字数の上限を増やすことはできるのでしょうか?

お使いになってるのはフォームツール(というかAutoSapeの)テキストボックスですよね。
ここでは255文字までしか受け付けないようです。

もう1つのコントロール、コントロールツールボックスの(ActiveX)テキストボックスなら
デフォルトは文字数無制限(ただしメモリーの状況によっては制約があるようですが)
プロパティのMultiLineをTrueにしておけば改行も受けつけます。

シートにAutoShapeのテキストボックスとActiveXのテキストボックスを配置し
以下を試してみてください。
Test1,Test2はAutoShape用。Test1は255桁、Test2は256桁の文字をセット。
Test3はActiveX用。302桁をセットしています。

Sub Test1()
Dim s As String
Dim i As Long
  s = "A"
  For i = 1 To 253
    s = s & "B"
  Next
  s = s & "Z"
  MsgBox s
  With ActiveSheet.TextBoxes(1).Characters
    .Text = "ABC"
    MsgBox .Text
    .Text = s
    MsgBox .Text
  End With
End Sub

Sub Test2()
Dim s As String
Dim i As Long
  s = "A"
  For i = 1 To 254
    s = s & "B"
  Next
  s = s & "Z"
  MsgBox s
  With ActiveSheet.TextBoxes(1).Characters
    .Text = "ABC"
    MsgBox .Text
    .Text = s
    MsgBox .Text
  End With
End Sub

Sub Test3()
  Dim s As String
  Dim i As Long
  s = "A"
  For i = 1 To 300
    s = s & "B"
  Next
  s = s & "Z"
  MsgBox s
  With ActiveSheet.TextBox1
    .Text = "ABC"
    MsgBox .Text
    .Text = s
    MsgBox .Text
  End With
End Sub

7 hits

【67784】テキストボックスに文字を出す あきら 11/1/8(土) 1:04 質問
【67786】Re:テキストボックスに文字を出す UO3 11/1/8(土) 10:28 回答
【67789】Re:テキストボックスに文字を出す UO3 11/1/8(土) 16:43 回答
【67796】Re:テキストボックスに文字を出す あきら 11/1/9(日) 13:08 質問
【67797】Re:テキストボックスに文字を出す neptune 11/1/9(日) 18:28 発言
【67802】Re:テキストボックスに文字を出す UO3 11/1/10(月) 17:41 回答

14428 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free