【问题标题】:How replace word tables chr(13)?如何替换单词表 chr(13)?
【发布时间】:2021-09-23 08:59:53
【问题描述】:

我正在复制并超越单词表以使其成为 excel。但是单词表中有很多“输入”键。我能知道如何替换整个单词表中的输入键吗? 我遇到问题“参数数量错误或属性分配无效”

【问题讨论】:

  • 尝试将With Selection.Find 替换为ActiveDocument.Tables(1).Range.Find,99% 的时间都不需要选择范围(因此您也可以删除ActiveDocument.Tables(1).Range.Select)。
  • 你想用什么替换回车(“enter”键)? .Text = ">P" 应该是 .Text = "^p".Replacement.Text = "^p" 中的 ^p 应该替换为您的替换字符。
  • 请同时阅读how to avoid using Select/Activate,您不需要在 99% 的情况下激活/选择您的工作表/单元格(事实上,这是不好的做法)
  • 参见,例如:excelguru.ca/forums/…
  • 您可能还需要消除单元格结束标记,而不仅仅是段落标记。

标签: vba ms-word word-table


【解决方案1】:

这段代码有不止一个问题。

首先是您没有将oLookWordDoc 设置为指向文档,因此Word 代码将不起作用。

其次,您有两个变量指向同一个表,oLookwordTblr。您只需要其中之一。

第三,您正在选择要运行Find 的表,而不是简单地使用Table.RangeFind 方法。

第四,您的查找和替换文本不正确。

下面整理的代码会将表格中的段落标记替换为空格。

Dim oLookWordDoc As Word.document
Dim oLookwordTbl As Word.Table
Dim iRow As Long 'row index

'you need to set oLookWordDoc to point to a document here

'Grab the word table
Set oLookwordTbl = oLookWordDoc.Tables(1)
With oLookwordTbl.Range.Find
    .Text = "^p"
    .Replacement.Text = " "
    .Forward = True
    .Wrap = wdFindStop
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    .Execute Replace:=wdReplaceAll
End With
'rows 2 - end
For iRow = 2 To oLookwordTbl.Rows.Count
    oLookwordTbl.Rows(iRow).Range.Copy
    'Paste
    xWs.Paste
    xWs.Cells(xWs.Rows.Count, 1).End(3).Offset(1).Select
Next

【讨论】:

  • 嗨蒂莫西,感谢您抽出宝贵时间回复此问题。但是,在运行 {.Execute Replace:=wdReplaceAll} 系统显示时出现“此命令不可用”问题的编码:wdReplaceAll=2 (helight yellow color)
  • @ZhaoYang - 听起来好像您没有对 Word 库的引用。
  • 您好 Timothy,我确认“Microsoft word 16.0 对象库”已启用。
  • 我将完整的代码粘贴到您的建议中。 .Execute Replace:=wdReplaceAll 不起作用。
  • @ZhaoYang - 代码是正确的,所以如果它不起作用,那就是其他错误。您需要编辑您的问题,或发布一个新问题,并显示您正在使用的完整代码。
【解决方案2】:

With Selection.find 引用 Excel 选择对象。但是您想使用 Word 选择对象。

您是否有单词应用程序的变量,例如应用程序词? 使用这个:With appWord.Selection.find

如果不是 With oLookWordDoc.parent.selection.find 应该可以工作

【讨论】:

    猜你喜欢
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 2021-12-29
    • 2019-01-31
    • 1970-01-01
    • 2015-09-16
    • 1970-01-01
    相关资源
    最近更新 更多