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工作簿。