我尝试将一系列文本从 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