excel - 如何判断 .selection.find 是否在 excel vba 中找到任何内容
问题描述
我可以使用此代码在用户指定的单词文件中查找一个句子,并在该句子之后插入文本。问题是如果单词文件中不存在预期的句子,则文本将插入到单词文件的开头。我需要的是,如果没有找到预期的句子,请转到错误处理程序。如何修改代码?
[更新]以下代码有效:
Dim WordApp As Object, WordDoc As Object
Dim FullName As String: FullName = Sheet5.Cells(7, 5).Value
Set WordApp = New Word.Application
With WordApp
.Visible = True
Set WordDoc = .Documents.Open(FullName)
.ActiveDocument.Select
With .Selection
With .Find
.ClearFormatting
.MatchWholeWord = True
.MatchCase = False
.Text = "There is one electric heater."
.Execute
End With
If .Find.Found Then
.Collapse Direction:=wdCollapseStart
.TypeParagraph
.ParagraphFormat.Alignment = wdAlignParagraphLeft
.MoveEnd wdLine, 1
Sheet3.Range("G2").Copy
.PasteExcelTable False, False, False
Sheet2.Range("A1", "B10").Copy
.PasteExcelTable False, False, False
Else
MsgBox "No electric heater reference found.", vbExclamation
End If
End With
.Activate
End With
解决方案
尝试以下方式:
Dim WordApp As Object, WordDoc As Object, WordRng As Object
Dim strFlNm As String: strFlNm = Sheet5.Range("D6").Value
Set WordApp = CreateObject("Word.Application")
With WordApp
.Visible = True
Set WordDoc = .Documents.Open(strFlNm)
With WordDoc.Range
With .Find
.ClearFormatting
.MatchWholeWord = True
.MatchCase = False
.Text = "There is one electric heater."
.Execute
End With
If .Find.Found = True Then
.InsertAfter vbCr
.Collapse 0 ' wdCollapseEnd
.ParagraphFormat.Alignment = 0 'wdAlignParagraphLeft
Sheet3.Range("G2").Copy
.PasteExcelTable False, False, False
.InsertAfter vbCr
Sheet2.Range("A1:B10").Copy
.Collapse 0 ' wdCollapseEnd
.PasteExcelTable False, False, False
Else
MsgBox "No electric heater reference found", vbExclamation
End If
End With
.Activate
End With
推荐阅读
- reactjs - 将 e.currentTarget.value 放入具有常量类型的 Typescript 变量中
- r - 通过 r 中的嵌套列表进行操作
- linux - 为什么 GNU Stow 不忽略主目录中的单个文件?
- sql - 如何提高 WordPress 元查询速度?
- python - 两个 PCAN 适配器连接到同一台笔记本电脑的两个 USB 端口
- java - Java Swing 嵌套 JTable
- c#-4.0 - 转发或回复邮件时获取父邮件项以读取标题
- amazon-web-services - systemctl daemon-reload 失败,参数数量无效
- reactjs - 此路由不支持 POST 方法。支持的方法:GET、HEAD。在 laravel api资源中
- python-3.x - 在某个时间点计算数据框中的灾难