- 日時: 2013/01/30 23:08
- 名前: VBレスキュー(花ちゃん)
  
  - ***********************************************************************************
 * カテゴリー:[リッチテキストボックス][][]                                        * * キーワード:リッチテキストボックス,空行,空白の行,連結,空行を削除,空行を挿入     * *********************************************************************************** '================================================================================== '投 稿 日:2013/01/28 '投 稿 者:VBレスキュー(花ちゃん) 'タイトル:RichTextBox内の空白行の削除と挿入方法 '動作確認:WindowsVista/7 VB2010(VS2010 Pro) Framework 4 / ターゲットCPU:X86 IE 8.9 '[Option Compare Text][Option Explicit On][Option Infer On][Option Strict On]で設定 '================================================================================== テキストボックスの場合は、下記の URL に記載の方法で、できるのですが、RichTextBox (リッチテキストボックス)の場合は、改行コードが、vbLf なのでそのままのコードでは できません。  http://hanatyan.sakura.ne.jp/patio/read.cgi?no=233
  下記のように変更して下さい。 Private Sub Button1_Click(ByVal sender As System.Object, _                           ByVal e As System.EventArgs) Handles Button1.Click    Dim wk As String    wk = "1. あいうえお" & vbCrLf & vbCrLf    wk &= "2. かきくけこ" & vbCrLf    wk &= "3. さしすせそ" & vbCrLf & vbCrLf & vbCrLf & vbCrLf    wk &= "4. たちつてと" & vbCrLf & vbCrLf    wk &= "5. なにぬねの" & vbCrLf    wk &= "6. はひふへほ" & vbCrLf & vbCrLf    wk &= "7. まみむめも" & vbCrLf & vbCrLf    RichTextBox1.Text = wk End Sub
  Private Sub Button2_Click(ByVal sender As System.Object, _                           ByVal e As System.EventArgs) Handles Button2.Click    RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & "){1,}", vbLf) End Sub
  Private Sub Button3_Click(ByVal sender As System.Object, _                           ByVal e As System.EventArgs) Handles Button3.Click    RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & ")+", vbLf) End Sub
  Private Sub Button4_Click(ByVal sender As System.Object, _                           ByVal e As System.EventArgs) Handles Button4.Click '空行を1行追加する場合    RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & ")+", vbLf)    RichTextBox1.Text = RichTextBox1.Text.Replace(vbLf, vbLf & vbLf) End Sub
  'クリックの都度空行を1行づつ増やしたい場合は、現在空行がどのようになっているか調べて 'それに対して、1行追加する必要があるので下記のようにしないと。 'もっと簡単な方法があるかも知れませんが、今はこれしか思いつきません。
  Private LfCount As Integer = 0 Private Sub Button5_Click(ByVal sender As System.Object, _                           ByVal e As System.EventArgs) Handles Button5.Click    Dim lfKey As String = vbLf    For i = 0 To LfCount       lfKey &= vbLf    Next    '一旦空行を削除する    RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "(" & vbLf & ")+", vbLf)   '指定行数分空行を追加する    RichTextBox1.Text = RichTextBox1.Text.Replace(vbLf, lfKey)    LfCount += 1 End Sub
  上記実行結果 http://hanatyan.sakura.ne.jp/patio/upl/1256650298-3.gif
 
 
  尚、リッチテキストボックスで段落(行間間隔を設定)を設定するのちょっと厄介です。   http://www.hanatyan.sakura.ne.jp/samplepic/vb6_410.htm   http://www.hanatyan.sakura.ne.jp/samplepic/vb8_145.htm
 
 
   
  |