句子批量给单词加注释加音标并标红
使用说明
功能:根据word里面的单词给juzi里面句子加单词注释并标红。
可以往word那个sheet里面添加自己认为需要解析的单词
功能介绍
第一步,准备需要翻译的句子
第二步 调用宏方法
打开开发工具-宏
第三步察看内容
代码
Sub biaozhujieshiyanse()
Dim iNum As Integer
Dim danciNum As Integer
Dim tabname As String
Dim i As Integer
Dim icnt, nowcnt As Integer
Dim jNum As Integer
Dim kcnt As Integer
icnt = 1
nowcnt = 1
iNum = Sheets("juzi").[A65536].End(xlUp).Row
'可以标记的单词
danciNum = Sheets("word").[A65536].End(xlUp).Row
'MsgBox danciNum
'jNum = Sheets("result").[A65536].End(xlUp).Row
'For kcnt = 0 To jNum
' Sheets("result").Range("A" & kcnt).ClearContents
'Next
Sheets("result").Range("1:65536").Clear
For i = 1 To iNum
'句子分解成单词列表
tabname = Sheets("juzi").Range("A" & i).Value
dancilist = ""
biaozhulist = ""
a = Split(tabname, " ")
b = UBound(a)
For cnt = 0 To b
word = LCase(a(cnt))
For m = 1 To danciNum:
danword = Sheets("word").Range("A" & m).Value
'如果句子单词中需要标记的单词,把解释音标提取出来
If word = danword Then
dancilist = dancilist & Sheets("word").Range("A" & m).Value & " [" & Sheets("word").Range("B" & m).Value & "] " & Sheets("word").Range("C" & m).Value & Chr(10)
biaozhulist = biaozhulist & Sheets("word").Range("A" & m).Value & "|"
Exit For
End If
Next
Next
'& Chr(13) & Chr(10) 回车换行 Chr(10) 回车
'把句子和单词的解释放入Sheets("result").Range("A" & nowcnt).Value
Sheets("result").Range("A" & nowcnt).Value = Sheets("juzi").Range("A" & i).Value & Chr(10) & dancilist
'MsgBox biaozhulist
'单词标颜色,加粗
mybiaozhu = Split(Trim(biaozhulist), "|")
bcnt = UBound(mybiaozhu)
For j = 0 To bcnt
yanse = " " & LCase(mybiaozhu(j))
h = InStr(Sheets("result").Range("A" & nowcnt).Value, yanse)
If h > 0 Then
Sheets("result").Range("A" & nowcnt).Characters(Start:=h, Length:=Len(yanse)).Font.Color = -16776961
Sheets("result").Range("A" & nowcnt).Characters(Start:=h, Length:=Len(yanse)).Font.FontStyle = "加粗"
End If
Next j
nowcnt = nowcnt + 1
Next
End Sub
例子下载
https://download.****.net/download/weixin_44357283/11148875