0

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

4

0 回答 0