吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 203|回复: 7
收起左侧

[经验求助] word宏”中英文标点互换”不运行,求助

[复制链接]
lpf1014 发表于 2024-3-8 22:31
25吾爱币
从网上找了word宏”中英文标点互换“代码,也认真核对过,就是不能运行,显示”缺少子程序、函数或属性“,不知道这是哪里有问题


Sub ToggleInterpunction() '中英文标点互换
Dim ChineseInterpunction() As Variant, EnglishInterpunction() As Variant
Dim myArrayl() As Variant, myArray2() As Variant, strFind As String, strRep As String
Dim msgResult As VbMsgBoxResult, N As Byte
'定义一个中文标点的数组对象
ChineseInterpunction Array("。", ",", ";", ":", "?", "!", "……", "—", "~", "〔", "〕", "《", "》", "‘", "’", "“", "”")
'定义一个英文标点的数组对象
EnglishInterpunction Array(".", ",", ";", ":", "?", "!", "…", "-", "~", "(", ")", "<", ">", "'", "'", """", """")
'提示用户交互的MSGBOX双对话框
msgResult = MsgBox("您想中英标点互换吗?按Y将中文标点转为英文标点,按N将英文标点转为中文标点!", vbYesNoCancel)
Select Case msgResult
Case vbCancel
Exit Sub '如果用户选择了取消按钮,则退出程序运行
Case vbYes '如果用户选择了YES,则将中文标点转换为英文标点
myArray1 = ChineseInterpunction
myArray2 = EnglishInterpunction
strFind = """(*)"""
strRep = """\1"""
Case vbNo '如果用户选择了NO,则将英文标点转换为中文标点
myArray1 = EnglishInterpunction
myArray2 = ChineseInterpunction
strFind = """(*)"""
strRep = """\1"""
End Select
Application.ScreenUpdating = False '关闭屏幕更新
For N = 0 To UBound(ChineseInterpunction) '从数组的下标到上标间作一个循环
With ActiveDocument.Content.Find
.ClearFormatting '不限定查找格式
.MatchWildcards = Fa1se '不使用通配符
'查找相应的英文标点,替换为对应的中文标点
.Execute findtext:=myArray1(N), replacewith:=myArray2(N), Replace:=wdReplaceAll
End With
Next
With ActiveDocument.Content.Find
.ClearFormatting '不限定查找格式
.MatchWildcards = True '使用通配符
.Execute findtext:=strFind, replacewith:=strRep, Replace:=wdReplaceAll
End With
Application.ScreenUpdating = True '恢复屏幕更新
End Sub

最佳答案

查看完整内容

试试这2个宏,从慧办公的插件里抄来了常用的标点符号,另外英文没有顿号,可以忽略;另外慧办公插件里也有这个功能,只是它替换的是全文(包括页眉页脚部分),会员还能使用批量文档替换),我试了可以用。 Sub 英文转中文标点() Dim selRange As Range Set selRange = Selection.Range Dim ywbd As Variant Dim zwbd As Variant Dim i As Integer ywbd = Array("、", ".", ",", ";", ":", "?", " ...

免费评分

参与人数 1热心值 +1 收起 理由
pjj811885 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

jyjjf 发表于 2024-3-8 22:31
试试这2个宏,从慧办公的插件里抄来了常用的标点符号,另外英文没有顿号,可以忽略;另外慧办公插件里也有这个功能,只是它替换的是全文(包括页眉页脚部分),会员还能使用批量文档替换),我试了可以用。
Sub 英文转中文标点()
    Dim selRange As Range
    Set selRange = Selection.Range
     Dim ywbd As Variant
    Dim zwbd As Variant
    Dim i As Integer
    ywbd = Array("、", ".", ",", ";", ":", "?", "!", "…", "-", "~", "(", ")", "<", ">", "[", "]")  '英文标点数组
    zwbd = Array("、", "。", ",", ";", ":", "?", "!", "……", "—", "~", "(", ")", "《", "》", "【", "】") '对应中文标点数组
   
    For i = LBound(ywbd) To UBound(ywbd)
        With selRange.Find
            .ClearFormatting
            .Text = ywbd(i)
            .Replacement.Text = zwbd(i)
            .Execute Replace:=wdReplaceAll
        End With
    Next i
End Sub

Sub 中文转英文标点()
    Dim selRange As Range
    Set selRange = Selection.Range
    Dim ywbd As Variant
    Dim zwbd As Variant
    Dim i As Integer
    ywbd = Array("、", ".", ",", ";", ":", "?", "!", "…", "-", "~", "(", ")", "<", ">", "[", "]")  '英文标点数组
    zwbd = Array("、", "。", ",", ";", ":", "?", "!", "……", "—", "~", "(", ")", "《", "》", "【", "】") '对应中文标点数组
   
    For i = LBound(ywbd) To UBound(ywbd)
        With selRange.Find
            .ClearFormatting
            .Text = zwbd(i)
            .Replacement.Text = ywbd(i)
            .Execute Replace:=wdReplaceAll
        End With
    Next i
End Sub

 楼主| lpf1014 发表于 2024-3-9 10:35
yunquan 发表于 2024-3-9 15:20
 楼主| lpf1014 发表于 2024-3-9 15:27
yunquan 发表于 2024-3-9 15:20
我一般都是用Ctrl+H里面的搜索和替换功能。

是的,所以想提高工作效率,一键完成
freelive 发表于 2024-3-9 20:56
求助:word宏命令;中英文段落标点符号修改
https://www.52pojie.cn/thread-1622500-1-1.html

 楼主| lpf1014 发表于 2024-3-9 22:44
freelive 发表于 2024-3-9 20:56
求助:word宏命令;中英文段落标点符号修改
https://www.52pojie.cn/thread-1622500-1-1.html

首先感谢您能看到我的求助,另外我的wps怎么不能运行,显示下标越界,第二个版本也是一样,能发下你自用的版本吗
 楼主| lpf1014 发表于 2024-3-10 14:49
jyjjf 发表于 2024-3-8 22:31
试试这2个宏,从慧办公的插件里抄来了常用的标点符号,另外英文没有顿号,可以忽略;另外慧办公插件里也有 ...

感谢您的帮助,亲测可以选定区域替换。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-22 03:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表