句子批量给单词加注释加音标并标红

使用说明
功能:根据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.csdn.net/download/weixin_44357283/11148875

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值