Jeg går udfra at det skal vises som "Bold" og ikke som en tekst med "[..]"
Private Sub Command1_Click() With RichTextBox1 ' <- RichTextBox If .SelText <> "" Then .SelBold = Abs(.SelBold) - 1 ' HTML <B> .SelItalic = Abs(.SelItalic) - 1 ' HTML <I> .SelUnderline = Abs(.SelUnderline) - 1 ' HTML <U> Else MsgBox "Du skal marker noget tekst." End If End With End Sub
ellers så kan du gøre sådan.. hvis det skal være med "[..]"
Private Sub Command1_Click() With RichTextBox1 ' <- RichTextBox If .SelText <> "" Then .SelText = BoldAddReplace(.SelText) End If End With End Sub
Public Function BoldAddReplace(strText As String) As String If InStr(1, strText, "[bold]", vbTextCompare) = 0 Then BoldAddReplace = "[bold]" & strText & "[bold/]" Else BoldAddReplace = Replace(Replace(strText, "[bold]", "", 1, -1, _ vbTextCompare), "[bold/]", "", 1, -1, vbTextCompare) End If End Function
Sjh, jeg har ikk mulighed for at checke om din kode er okay. - Pga. den nedlagte puter. Ser ud til at det er CPU'en, og en ny er bestilt. Kommer med svar hurtigst som muligt.
Private Sub Command1_Click() With RichTextBox1 ' <- RichTextBox If .SelText <> "" Then .SelText = BoldAddReplace(.SelText) End If End With End Sub
Public Function BoldAddReplace(strText As String) As String If InStr(1, strText, "[bold]", vbTextCompare) = 0 Then BoldAddReplace = "[bold]" & strText & "[bold/]" Else BoldAddReplace = Replace(Replace(strText, "[bold]", "", 1, -1, _ vbTextCompare), "[bold/]", "", 1, -1, vbTextCompare) End If End Function
Sådan som jeg læser din kode, erstatter den en markeret tekst med: [bold]Markeret tekst[/bold], det er sådanset okay - men tænk på at hvis teksten ser således ud:
"Eksperten er et rigtig godt sted, her findes oplysninger om alverdens ting. Jeg er en ninja, og fylder 10 til december."
"Ninja" og "oplysninger" er lavet til fedskrift i en Richtext-box. I det jeg trykker på command1, ønsker jeg at teksten bliver lavet om til (og her er ingen fed skrift mere):
"Eksperten er et rigtig godt sted, her findes [bold]oplysninger[/bold] om alverdens ting. Jeg er en [bold]ninja[/bold], og fylder 10 til december."
Trykker jeg på en anden knap laver den det om igen, [bold] og [/bold] forsvinder, og gør den tekst fed som den står omkring.
Private Sub Command1_Click() Dim intStart As Long Dim intSlut As Long Dim strText As String intSlut = 1 intStart = 1 With RichTextBox1 ' <- RichTextBox Do Until intStart = 0 intStart = InStr(intSlut, .Text, "[bold]", vbTextCompare) If intStart > 0 Then intSlut = InStr(intStart, .Text, "[/bold]", vbTextCompare) If intSlut > 0 Then intSlut = (intSlut + 6) .SelStart = (intStart - 1) .SelLength = (intSlut - intStart + 1) .SelBold = True .SelText = Mid$(.Text, intStart + 6, (intSlut - intStart) - 12) End If End If Loop End With End Sub
Private Sub Form_Load() RichTextBox1.Text = "Lille [bold]Lise[/bold] ser på solen, og bliver [bold]blindet[/bold]." End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.