0
我試圖選擇Microsoft Word中表格單元格內的子標題下的所有文本。當文本之後有子標題時它工作正常,但如果它是單元格中的最後一個子標題,它將選擇整個單元格。有沒有辦法檢查Selection.Next
的細胞結束?VBA:選擇單元格中的文本,直到下一個字符爲粗體
這是到目前爲止我的代碼:
Public Sub copySubHeading()
Selection.HomeKey Unit:=wdStory
With Selection.Find
.ClearFormatting
.MatchCase = False
.Text = "Example:"
.Wrap = wdFindContinue
.Font.Bold = True
.Execute
End With
Selection.MoveRight Unit:=wdCell, Count:=1, Extend:=wdMove
With Selection.Find
.ClearFormatting
.MatchCase = False
.Text = "Heading 6:"
.Wrap = wdFindContinue
.Font.Bold = True
.Execute
End With
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
While IsAlphanumericCharacter(Selection) <> True
Selection.Next(Unit:=wdCharacter, Count:=1).Select
Wend
While Not Selection.Next.Bold
Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Wend
End Sub
Private Function IsAlphanumericCharacter(character As String) As Boolean
Select Case Asc(character)
Case 48 To 57, 65 To 90, 97 To 122
IsAlphanumericCharacter = True
Case Else
IsAlphanumericCharacter = False
End Select
End Function
當細胞與任何這個特殊字符是在下面的圖片中結束這上面的代碼將工作,雖然我有細胞與不結束工作這個角色每一次。
有沒有方法可以選擇文本,直到粗體字符或單元格的結尾?
或者,如果有人可以提供更好的方式來選擇所有的文字,直到下一個非常有用的標題,謝謝。
是我用黃色段落標記突出顯示的最後一個字符嗎?我認爲段落符號是標題末尾的符號。 – enifeder
此外,問題不在於查找粗體文本,而是在單元格末尾停止。 – enifeder
最終字符(黃色突出顯示)是ANSI 13和ANSI 7的組合,通常稱爲「段落標記」和「單元格標記結束」。但在視覺上,組合被表示爲「陽光」。如果檢查ANSI 13,然後檢查ANSI 7(使用ASC或CHR功能),您應該能夠識別單元結束。 –