[算表] 如何用VBA將粗體字前後加上<b></b>

看板Office作者 (艾尼格瑪)時間3年前 (2021/04/27 07:55), 3年前編輯推噓0(006)
留言6則, 2人參與, 3年前最新討論串1/1
因表格內文字的粗體字跟細體字參雜, 要做成html前要將粗體字用<b></b>標註, 看網路上的寫法是 Sub Tester() AddTags Range("A1") End Sub Sub AddTags(c As Range) Dim p As Long, isB As Boolean Do p = p + 1 If p > Len(c.Value) Then Exit Do If c.Characters(p, 1).Font.Bold And Not isB Then 'entering a bolded section c.Characters(p, 0).Insert "<b>" c.Characters(p, 3).Font.Bold = True isB = True p = p + 3 'skip the tag you just added ElseIf Not c.Characters(p, 1).Font.Bold And isB Then 'leaving a bolded section c.Characters(p, 0).Insert "</b>" c.Characters(p, 4).Font.Bold = True isB = False p = p + 4 'skip the tag you just added End If Loop 'close any open tag If isB Then c.Characters(p, 0).Insert "</b>" End Sub 雖然當字都在同一行的時候可以執行, 但常遇到大寫後就換行的情況就會發生狀況, 例如 BBBaaa -> <b>BBB</b>aaa 可以順利執行 BBB <b>BBB aaa -> </b>aaa 會變成上述情況 看程式裡面是說當遇到第一個非大寫的時候就插入</b> 請問要怎麼改成遇到換行符號的時候也可以在末端插入</b> 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.253.54 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1619481304.A.383.html

04/27 12:52, 3年前 , 1F
04/27 12:52, 1F

04/27 12:52, 3年前 , 2F
執行上範例可調整的結果
04/27 12:52, 2F

04/27 12:53, 3年前 , 3F
如果有要迴圈的話再自行
04/27 12:53, 3F

04/27 12:53, 3年前 , 4F
加入
04/27 12:53, 4F

04/27 22:46, 3年前 , 5F
終於可以順利執行了,感謝s大m(_ _)m
04/27 22:46, 5F

04/27 23:42, 3年前 , 6F
A5的效果執行不出來,我再研究看看
04/27 23:42, 6F
※ 編輯: enigma1001 (49.216.144.116 臺灣), 04/29/2021 02:13:29
文章代碼(AID): #1WXrBOE3 (Office)
文章代碼(AID): #1WXrBOE3 (Office)