如何解决为什么 InStr() 的位置与 mid() / left() / right() 或 End of File 不匹配
我尝试将一系列文本从 word 转换为 excel。范围的开始位置是字符串“Next Steps”的最后一次出现。所以我使用 instr 函数用循环搜索最后一次出现的位置。有 359 个字符的差异。在我的文件中有一个目录。也许这就是造成如此大差异的原因。
我也用另一个文件做了一个测试,我在最后写了“zzzzz”,也有不同之处。
怎么了?
感谢帮助。 提前致谢
这里是测试代码:
Option Compare Text
Sub Button1_Click()
Dim FileToOpen
Dim WordApp As Object
ChDrive "C:\"
DownloadsPath = Environ$("USERPROFILE") & "\Downloads"
ChDir DownloadsPath
FileToOpen = Application.GetOpenFilename _
(Title:="Please choose a file to import",_
FileFilter:="Word Files *.docx (*.docx),")
If FileToOpen = False Then
MsgBox "No file specified.",vbExclamation,"Error"
Exit Sub
Else
Set WordApp = CreateObject("Word.Application")
WordApp.Visible = True
On Error Resume Next
'WordApp.Documents.Open Filename:=FileToOpen
Set WordDoc = WordApp.Documents.Open(FileToOpen)
End If
Set oRng = WordDoc.Range
EndoF = oRng.End
endPosition = InStr(1,oRng,"zzzzz",vbTextCompare)
Offset = EndoF - endPosition + Len("zzzzz")
Debug.Print endPosition,EndoF,Offset
WordApp.Quit
Set WordApp = Nothing
Set WordDoc = Nothing
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。