通过标题名称

时间:2018-07-12 23:34:00

标签: range multiple-columns spell-checking

嗨,我正在尝试按指定的列(而不是整个工作表)运行拼写检查。我想要进行拼写检查的列是“标题”,“原始标题”,“原始标题”和“摘要”。

这是我目前拥有的(正在渲染整个工作表)

Sub HighlightMisspelledWords()

错误恢复下一个

'您可以通过指示左上方和右下方的单元格来指定范围。 '默认范围使用图纸的整个使用区域。 Dim oRange作为Excel.Range 设置oRange = ActiveSheet.UsedRange

Application.ScreenUpdating = True

'您可以选择要对照哪个词典语言进行拼写检查。 '有很多,但最有可能的是以下几种。 'Application.SpellingOptions.DictLang = msoLanguageIDEnglishUS'值1033 Application.SpellingOptions.DictLang = msoLanguageIDEnglishUS

'对于Word高亮显示,您可以选择8种命名颜色: 'vbBlack,vbWhite,vbRed,vbGreen,vbBlue,vbYellow,vbMagenta,vbCyan。 昏暗lWordHighlightColor长 lWordHighlightColor = vbRed

''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''' '上述项目的值应由用户根据需要进行修改。 ' '''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''

出错时转到0

将oCell作为对象 Dim iLastRowProcessed作为整数 iLastRowProcessed = 0

对于oRange中的每个oCell

'第一个拼写检查整个单元格(如果少于256个字符)。 '即使没有拼写错误,也可以捕获某些语法错误。 如果(Len(oCell.Text)<256) bResultCell = Application.CheckSpelling(oCell.Text) 如果结束

将iTrackCharPos设置为整数 iTrackCharPos = 1

'使用空格作为定界符,将单元格中的文本拆分为单词数组。 变体单词变暗 vWords = Split(oCell.Text,Chr(32),-1,vbBinaryCompare) 昏暗的整数

'检查单元格中每个单词的拼写。 对于i = LBound(vWords)到UBound(vWords)

将iWordLen视作整数 iWordLen = Len(vWords(i))

将bResultWord设为布尔值 '请注意,长度超过255个字符的Word将产生错误13。 '任何没有任何嵌入空格的字符串都被视为单词。 bResultWord = Application.CheckSpelling(Word:= vWords(i))

如果(bResultWord = False)然后 bResultCell =假 '仅在单元格中突出显示该拼写错误的单词。 oCell.Characters(iTrackCharPos,iWordLen).Font.Bold = True oCell.Characters(iTrackCharPos,iWordLen).Font.Color = lWordHighlightColor

如果结束

iTrackCharPos = iTrackCharPos + iWordLen + 1

下一个我

下一个oCell

结束子

0 个答案:

没有答案