- 日時: 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
|