特定の文字だけ太文字にするには

このQ&Aのポイント
  • 簡易チャット作成で、特定の文字を太字にする方法を教えてください。
  • テキストボックス2に文を入力し、エンターキーを押すと、テキストボックス1に「花子:~~~」と表示されるようになりました。しかし、花子の部分だけ太字にする方法を教えてください。
  • 質問者が作成している簡易チャットで、特定の文字(例:花子)だけ太字にする方法を知りたいです。
回答を見る
  • ベストアンサー

特定の文字だけ太文字にするには・・

簡易チャット作ってます。発言者の名前の部分だけ太文字にしようとしてい ます。 テキストボックス2に文を書いてエンターを押すとテキストボックス1に書 花子:~~~  と書き込まれるようにはできました。花子の部分 だけふと文字にするには?? Private Sub Text2_KeyPress(KeyAscii As Integer) If (KeyAscii = 13) Then Text1.Text = Text1.Text + "花子:" + Text2.Text + vbCrLf Text2.Text = "" KeyAscii = 0 End If End Sub

  • 1kou
  • お礼率20% (203/989)

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 通常のテキストボックスは部分的な書式設定は出来ないので、リッチテキストボックスを使用しましょう。 コード画面のメニューの[プロジェクト]→[コンポーネント]で、 「Microsoft Rich Textbox Control X.X」(X.Xはバージョン) にチェックを入れてOKすると、ツールボックスにリッチテキストボックスが追加されます。 そしたら、フォーム上に配置すればOKです。 使用方法などは、検索して下さい。

1kou
質問者

お礼

アドバイスありがとうございます!早速調べてみます。(^^)

関連するQ&A

  • VBA エンターキーでイベントに入りたい。

    テキストボックスにデータ入力後エンターキーの押下でイベントに入りたいのですが、下記のコーディングで[通過]メッセージが表示されません。英数字は通過しますが、エンターキーは動作停止します。 これと全く同じコーディングでVB6は正しく動きます。(ただし、Pvate Sub text1_KeyPress(KeyAscii As Integer)に変更してます。) <コーディング> Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) Msgbox "通過" If KeyAscii = vbKeyReturn Then KeyAscii = 0 End If End Sub これが出来ると、そのつどキーボードから手を離さずに済むので作業効率がグンとあがります。どうかよろしくご教示ください。Excel2003SP3

  • 16進数

    Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii >= Asc("a") And KeyAscii <= Asc("f") Then Else KeyAscii = 0 Beep End If End Sub 上のソースだと数字が入りません。 どうすれば入力できますか。 ※zと入れると強制終了になってしまうので、上のソースを入れたんですが・・・ ※タグが崩れて見にくくてすいません

  • キー入力を制限しつつ、Ctrl+CやCtrl+Vを活かすには?

    数字とバックスペース以外入力できないテキストボックスTextBoxAを作りました。 Private Sub TextBoxA_KeyPress(KeyAscii As Integer) If KeyAscii <> vbKeyBack Then If KeyAscii < Asc("0") Or KeyAscii > Asc("9") Then KeyAscii = 0 End If End If End Sub と記述しましたが、Ctrl+CやCtrl+Vが効きません。 右クリックでコピー、ペーストはできるのですが、コントロールキー によるコピペを可能にするにはどうしたらいいでしょうか? どなたかよろしくお願いします。

  • テキストボックス内の文字を常に1字に制限する方法を教えてください。

    例えば、Private Sub Text1_KeyPress(KeyAscii) の中で Text1.text=Right(Text1.text,1) のようにすれば、常に右端の1字だけ表示されると思うのですが、 実際にやってみると、2文字表示されてしまうことがしばしばです。

  • vb作成したらでbeep音が鳴ります。経験あるかたお願いします。

    KeyPressイベントを追加して、データ入力後にエンターキーを押すとbeep音が鳴ります。ほかではescキーも鳴りますが、その他は鳴らないで動くようです。 単純に新規作成から、Form1へtestテキストコントロールを追加して、以下の記述をしただけなのですが、どうしてなるのか原因がわかりません。 Private Sub test_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then test.text="ok" End If End Sub ←この次でbeep音! 環境はvb6.0、windows2000。 仕様なのでしょうか? ハード側の問題なのでしょうか? 経験あるかた宜しくお願い致します。

  • テキストの入力時、カーソルの移動をスムーズにしたい

     VB6で複数入力項目(テキスト/コンボボックス等)がある画面を作っているのですが、文字が最大桁数に達したら、次のコンボボックスへカーソル(=フォーカス)を移動し、次の入力項目へを行いたいのですが、 どうも思った様に、移動しないです。  以下は半角数字項目が最大文字数に達した場合、次のインプットボックスへフォーカスが移動する様に組んでみました。 Private Sub Txt_Input_KeyPress(KeyAscii As Integer) If KeyAscii <> 8 And (KeyAscii < 48 Or KeyAscii > 57) Then KeyAscii = 0 If Len(Txt_Input.Text) >= (Txt_Input.MaxLength - 1) Then Txt_Input2.SetFocus End If End Sub ところが、バックスペースでも1文字分と捉えてしまう様で、3文字入力の場合等は先頭から入力し直さないと、再入力も儘ならない状態です。 何かバックスペースも自然に効く形で同様の制御は行えないものでしょうか。 (尚、MaxLength - 1の部分は-1しないとフォーカスが動きませんでした。)

  • TextをEnterKeyで選んだ後にLISTBOXを非表示

    OSはWin XP home EXCEL2002を使用しています。 ActivecellにリストボックスのデータをEnterKeyで入れた後にリストボックスの表示をFalseにしたいと思っています。以下のようにすると必ずEXCELが落ちてしまいます。 Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii = vbKeyReturn Then ActiveCell.Value = ListBox1.Text ListBox1.Visible = False End If End Sub 何がいけないのかよく分かりません。悪い部分の解説もできればお願いしたいと思います。よろしくお願いします。

  • Back Spaceを入力可にするには?

    金額を入力して計算するルーチンを作成しています。 以下のコードで、数字以外は入力不可にしたのですが・・・・ 数値を訂正するためのBack Spaceも入力できなくて困っています。 0~9までしか受け付けないコードなのはわかっていますが、それに加えてBack Spaceも受け付けられるようにするにはどんなコードを書けばよいでしょうか。 Private Sub genkin_KeyPress(KeyAscii As Integer) If KeyAscii >= Asc("0") And KeyAscii <= Asc("9") Then Exit Sub Else KeyAscii = 0 Beep End If End Sub

  • ACCESS2003のテキストボックスの最大桁数について

    Access2003のテキストボックスには、MaxLengthプロパティがありません。変わりに以下のような、コードで対応しようと試みたのですが、いまいち動きが悪いのです。以下のコードは、最大4桁までテキストボックスに入力可能とします。 Private Sub txtBox_KeyPress(KeyAscii As Integer)   If Len(txtBox.Text) > 3 Then     KeyAscii = 0   End If End Sub 最大入力桁数4桁を実現していますが、4桁入力後『Insert』キーを押下して、上書きモードでの修正ができません。 以下例1はOKですが、例2が実現できません。 例1:1回目新規入力『12』 ⇒ 2回目修正『123』⇒3回目修正『1234』 例2:1回目新規入力『1234』 ⇒ 2回目修正『9999』 VBのMaxLengthプロパティのようなことはできないのでしょうか?

  • WithEventsの処理について

    複数あるテキストボックス(text1、text2…)にキーボードから入力したらメッセージを出すという独自のイベント処理を 共通の関数を使用しようとした時に以下の処理が挙げられるですがこの処理について <クラスモジュール(MsgEvent)> Public WithEvents MsgTextBox As TextBox   Private Sub MsgTextBox_KeyPress(KeyAscii As Integer) MsgBox MsgTextBox.name ……(1) End Sub <フォームモジュール> Dim Hairetu(1) As New MsgEvent Private Sub Form_Load() Set Hairetu(0).MsgTextBox = Text1 ……(2) Set Hairetu(1).MsgTextBox = Text2 End Sub 上記の(1)についてnameプロパティの意味がわかりません。 調べたら値の取得とあるのですがその値とは(2)で言えば「=text1」にあたるということですか? それと(2)のSetを定義しないといけない理由がよくわからないのでお教えください。 よろしくお願いします。