• ベストアンサー

VBのリッチテキストについて

OS98,VB6.0でテキストエディタを作っています。 文章中で指定した文字列を部分的に色をつける機能をつけたいと考え、 いろいろと調べてわかったことは、リッチテキストを使えばいいということでした。しかし、どのようにすれば、部分的に色を変えることができるのかわかりません。 あらかじめワードパッドで部分的に色を変えて保存したrtfファイルではリッチテキストに読み込んだとき、ちゃんと部分的に色が変わった状態で表示させることができました。 また文字の書式を取得しなければならないのかと思って以下のアドレスのプログラムを参考にさせてもらっていたのですが、実行ボタンを押しても何も起こらずいきずまってしまいました。 http://vbvbvb.com/jp/gtips/0451/gSendMessageEmGetcharformat.html どんな情報でもよいので、よろしくお願いします。

  • Nickee
  • お礼率79% (107/134)

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

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

こんにちは。maruru01です。 リッチテキストボックスのプロパティで Sel~ というのがいくつかあります。 これらは選択されている範囲に対して文字の属性を変更します。 例えば、 太字にする:SelBold = True 下線を引く:SelUnderline = True 赤色にする:SelColor = vbRed 20ポイントにする:SelFontSize = 20 MS明朝にする:SelFontName = "MS 明朝" などです。 ちなみに、コードで選択するのは、普通のテキストボックスと同じで、 SelStartとSelLengthを設定します。 あと、リッチテキストボックスの場合は、ファイルの読み書きが簡単で、 RichText1.LoadFile "c:\ファイル.rtf", rtfText RichText1.SaveFile "c:\ファイル.rtf", rtfText で出来ます。 (普通のテキストボックスで行う、Openステートメントでの読み書きは必要ありません。) 他にも簡単な検索(Findメソッド)とかもあります。 詳細はヘルプで。(MicrosoftのHPのURLを載せておきます。) http://www.microsoft.com/japan/developer/library/VBCon98/vbconusingrichtextboxcontrol.htm

Nickee
質問者

お礼

ありがとうございます。簡単にできました。

その他の回答 (2)

  • ahoojpn
  • ベストアンサー率53% (7/13)
回答No.3

No.1の方の回答で、「文章中で指定した文字列を部分的に色をつける機能」は作れると思いますが、SelColorプロパティだと、SelColor = ? の"?"で選択した色のみしか選べません。もし、[色の設定]を指定したカラーにしたいのであれば、以下の方法にしてください。 Private Sub Command1_Click() CommonDialog1.ShowColor '文字色を選択した色にする RichTextBox1.SelColor = CommonDialog1.Color End Sub RichTextBoxの中の文章の内、ドラッグ(反転表示)した部分が、指定したカラーになります。コモンダイアログを使っています。

Nickee
質問者

お礼

なるほど。そのようにして色を、たくさん選択できるのですね。ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

http://isweb20.infoseek.co.jp/computer/itsuko_m/rtf04.htm にリッチテキストに色を付けるプログラミングをVisualBasicで行うの記述があります。

Nickee
質問者

お礼

紹介してもらったアドレスはちょっと自分にとって難しいですが、がんばって勉強します。ありがとうございます。

関連するQ&A

  • テキストエディタでVBを編集したい

    VB6.0 .NET のプログラムを テキストエディタで編集したいのですが、 関連付け等、設定方法を教えて下さい。 エディタは、秀丸エディタ、Apsalyです。 宜しくお願いします。

  • プログラムのコード(テキスト)をWordでカラー表示させたい

    VBのプログラム(コードのテキスト)を Wordにコピペして、カラー表示で印刷したいのです。 秀丸の強調表示でカラー表示ができますが、 非常に不便なためWordでカラー表示をしたいです。 これを実現できるマクロやソフトはあるのでしょうか? テキストの更新毎や手動実行で、マクロを動かして、 特定のコードの文字列(sub,if,endなど)と、'(カンマ)以降のテキスト表示 の色を変えられればいいのですが。

  • VBでテキストボックスに

    VBバリバリの初心者です。 手始めにHTMLエディタでも作ってみようと思ったのですが突然の難関です^^; 複数行はいるテキストボックス 「こんにちわ  今日は良い  天気です。」 にこのように相手に文字を入れて貰って 変換を押すと 「こんにちわ<br>  今日は良い<br>  天気です。」<br> が入るようにはどうしたらよいでしょうか? PS:VBでもっと機能があるHTMLエディタを 作っている人のを見ましたが、いつになったら あんなのを作れるのやら・・^^; トホホ

  • VBのプログラムで、実行時に与えられた値の取得方法について

    VB初心者です。 VBのプログラム呼び出しで、実行時に与えられた値を取得したいのですが、 そのやり方がわかりません。 「C:¥TEST.EXE "abc"」で、実行したとき、"abc"の文字列を TEST.EXEで取得したいのですが、このときのVBのコーディングを 教えて下さい。 宜しくお願い致します。 

  • ワード2003でテキストファイルに保存するには

    ワード2003をテイストファイルにしたいのですが、やり方がわからなくて……。泣くそう。。。 Word文書 XMLドキュメント 単一ファイルWEBページ WEBページ WEBページ(フィルタ後) 文書テンプレート リッチテキスト形式(RTF) 書式なし word97-2003&6.0/95-RTF word6.0&7.0 という種類のファイルの保存あるんですが… テキストファイルってのがないんです…。。。 助けてください<(_ _)>

  • テキストボックス内のワードアートの書式設定について

    WORD2003を使用しています。 まず、テキストボックスを作成し、その中にワードアートで文字を入れました。 そのワードアートを回転させたいのですが、ワードアートの書式設定を 見ても、文字列の折り返しが灰色になっていて選択できません。 テキストボックスの中のワードアートを回転させるにはどうしたらいいのでしょうか。

  • vb.net WindowsAPでテキストファイル表示とキーワード検索

    vb.net WindowsApricationで以下の機能を実現したいと思います、どのコントロールを使用すれば良いのか教えてください。 ・テキストファイルをVB画面で編集不可で開く。(千行以上程度) ・キーワードを別途用意したTextBoxに入力して、ボタンを押すと、そのキーワードのところにカーソルが飛んで適切にスクロールする。 要するにエディタを読み込み専用で開いたような状態です。 標準装備のコントロールでは無理なら、ワードパッドかワードのオブジェクトを利用してそのファイルを読み込み専用で開きたいのですが。 どうやれば出来ますか?

  • テキストを開くソフトを変えたい。

    windows98でファイルサイズの大きなテキストファイルを開こうとすると ワードパッドで開こうとしますよね。 これをほかのテキストエディタで開くようにしたいのですが、 何かいい方法はありませんか?

  • VB6のテキストボックスについて

    VB6で作成したプログラムを実行すると、WIN95とWIN98とで違う動作をします。 テキストボックスを右詰め(数字入力のため)に設定しているのですが、 WIN98で実行すると問題なく動作し、 WIN95で実行すると常に左詰めになってしまいます。 常に右詰めになるようにするにはどうしたらいいのでしょうか。

  • VB6 テキストへの書き込み

    VB6 SP6でプログラムを作成中です。 あるテキストボックスに書いた文字列をコマンドを  押すと、#5のテキストへ書き込みたいと思います。コマンドを押すたびに改行させたいのですが、1行目のデータが書き換えられてしまいます。何か良い方法はありませんか? Private Sub Command3_Click() Dim めぐ As String めぐ = Text1.Text Open "C:\Documents and Settings\Owner\デスクトップ\通信データ.txt" For Output As #5 Print #5, めぐ Close #5 End Sub