【问题标题】:MS-Word Macro - replace - confirming after workMS-Word 宏 - 替换 - 下班后确认
【发布时间】:2019-06-20 05:55:24
【问题描述】:

我不是工程师,也不是 IT 工作者。但我是……体育记者。

我在路上写了很多文章。我用这个谷歌语音。但是我们在 Google Voice 中的波兰语存在一个问题。它不会...转换标点符号。

我在 Microsoft Word 中创建了宏。但这并不是100%令我满意。我在完成所有工作后无法确认更改。

使用我的宏后,我需要在它工作后按下“是”按钮。 MS-Word 询问我:“MS-Word 已完成对选定文本的搜索。更改次数:0/1/2 等。我应该搜索文档的其余部分吗?”。

我在宏中有 11 个替换词,我需要推送 YES... 11 次(即使它替换了 0 次):)

我附上了我的宏,也许你们社区的某个人可以帮助和修改我的想法。非常感谢,最好的问候。

Sub GoogleVoice()
'
' GoogleVoice Makro
'
'
    Selection.WholeStory
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = " przecinek"
        .Replacement.Text = ","
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = " kropka"
        .Replacement.Text = "."
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = " dwukropek"
        .Replacement.Text = ":"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "myślnik"
        .Replacement.Text = "-"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = " znak zapytania"
        .Replacement.Text = "?"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = " wykrzyknik"
        .Replacement.Text = "!"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = " cudzysłów"
        .Replacement.Text = """"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = " zamknij nawias"
        .Replacement.Text = ")"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
      Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "trzykropek"
        .Replacement.Text = "..."
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = " nawias "
        .Replacement.Text = "("
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = " enter"
        .Replacement.Text = "^p"
        .Forward = True
        .Wrap = wdFindAsk
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

【问题讨论】:

    标签: vba replace ms-word confirmation


    【解决方案1】:

    提示是由 wdFindAsk 引起的。您的代码也可以大大简化。试试:

    Sub GoogleVoice()
    Application.ScreenUpdating = False
    With ActiveDocument.Range.Find
      .ClearFormatting
      .Replacement.ClearFormatting
      .Forward = True
      .Wrap = wdFindContinue
      .Format = False
      .MatchCase = False
      .MatchWholeWord = False
      .MatchWildcards = False
      .MatchSoundsLike = False
      .MatchAllWordForms = False
      .Text = " przecinek"
      .Replacement.Text = ","
      .Execute Replace:=wdReplaceAll
      .Text = " kropka"
      .Replacement.Text = "."
      .Execute Replace:=wdReplaceAll
      .Text = " dwukropek"
      .Replacement.Text = ":"
      .Execute Replace:=wdReplaceAll
      .Text = "myslnik"
      .Replacement.Text = "-"
      .Execute Replace:=wdReplaceAll
      .Text = " znak zapytania"
      .Replacement.Text = "?"
      .Execute Replace:=wdReplaceAll
      .Text = " wykrzyknik"
      .Replacement.Text = "!"
      .Execute Replace:=wdReplaceAll
      .Text = " cudzysłów"
      .Replacement.Text = """"
      .Execute Replace:=wdReplaceAll
      .Text = " zamknij nawias"
      .Replacement.Text = ")"
      .Execute Replace:=wdReplaceAll
      .Text = "trzykropek"
      .Replacement.Text = "..."
      .Execute Replace:=wdReplaceAll
      .Text = " nawias "
      .Replacement.Text = "("
      .Execute Replace:=wdReplaceAll
      .Text = " enter"
      .Execute Replace:=wdReplaceAll
    End With
    Application.ScreenUpdating = True
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多