VBA Word 2013:Scripting.FileSystemObject:运行时错误 424 - 需要对象

VBA Word 2013: Scripting.FileSystemObject: Runtime Error 424 - object required

我对VBA不是很坚定,我一直在尝试使用我前段时间在Excel写的Word下的一个功能。 (它在哪里工作完美!)

函数遍历文本文件和 returns 特定(寻找的)其他字符串之后的字符串:

Function keySearch(ByVal sSearch As String) As String
Dim fso As New FileSystemObject
Dim FileNum
Dim DataLine As String
Dim posOf_A As Integer
Dim filepath As String

keySearch = ""

'Create filesystem object
Set fso = CreateObject("Scripting.FileSystemObject")

'filepath to textfile
filepath = ActiveWorkbook.Path & "\temp.txt"

Set FileNum = fso.OpenTextFile(filepath, 1) '<--- This is where the error occurs!

Do While Not FileNum.AtEndOfStream
    DataLine = FileNum.ReadLine
    posOf_A = InStr(1, DataLine, sSearch, vbTextCompare)
    If posOf_A = 1 Then
        keySearch = Right(DataLine, Len(DataLine) - Len(sSearch))
    End If
Loop

FileNum.Close

End Function

错误发生在应该打开文本文件的行中。 错误消息:运行时错误 424:需要对象。

我已经尽可能地拆分了这条线,从 Excel 完美运行的函数下面的原始代码行缩小了搜索范围:

FileNum = CreateObject("Scripting.FileSystemObject").OpenTextFile(ActiveWorkbook.Path & "\temp.txt", 1)

但我似乎无法让它发挥作用。我已经在互联网上看到多个示例(看起来)完全按照我正在做的方式完全相同...

P.S.: Microsoft Scripting Runtime 已激活。

在此先感谢您提供的任何帮助,非常感谢!

ActiveWorkbook.Path 更改为 ActiveDocument.Path。您正在尝试为文件路径引用活动的 excel 工作簿。