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

时间:2017-06-19 14:23:22

标签: excel vba ms-word filesystemobject createobject

我在VBA中不是很坚定,而且我一直在尝试使用我在Excel中写过的Word下的函数。 (它完美无瑕地工作!)

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

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已激活。

提前感谢任何非常感谢的帮助!!

1 个答案:

答案 0 :(得分:1)

this.state = { usersColors: '' } // use for strings this.state = { usersColors: [] } // used for arrays 更改为ActiveWorkbook.Path。您正在尝试为文件路径引用活动的Excel工作簿。