VBA Word 2013:Scripting.FileSystemObject:运行时错误424 – 所需的对象

我在VBA中并不是很坚定,而且我一直在尝试在Word中使用我之前在Excel中编写的函数。 (它在哪里工作完美无缺!)

函数遍历一个文本文件,并在某个(寻找)其他string之后返回string:

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下完美工作函数的原始代码行的search范围:

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

但是我似乎无法做到这一点..我已经看到了互联网上的多个例子,正如我所做的那样(看起来)完全一样。

PS:Microsoft脚本运行时被激活。

预先感谢任何forms的帮助,真的很感激!

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