2017-06-19 3 views
1

を必要としていました。 (ここで、それが完璧に働いている!)機能は、テキストファイルを経由して、特定の(に求められる)他の文字列の後の文字列を返すVBAのWord 2013:Scripting.FileSystemObjectオブジェクト:ランタイムエラー424 - オブジェクトは、私はVBAで非常にしっかりしていないと私は、私はいくつかの時間前にExcelで書いた言葉の下で機能を使用しようとしてきた

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:オブジェクトが必要です。

は、私はすでにエクセルの下で完璧に働い関数からのコードのこの元の行から検索を絞り込む可能な限りのラインアップを分割しました:

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

しかし、私はちょうどしていないようですそれを動作させることができ..私は、私はそれをやっている(一見)まったく同じ方法で正確にこれをやって、インターネット上の複数の例を見てきました...

PS:Microsoftスクリプトランタイムが起動します。

本当にありがとうございました! ActiveDocument.Path

答えて

1

変更ActiveWorkbook.Path。アクティブなExcelブックをファイルパスとして参照しようとしています。

+0

これだけです!本当にありがとう! – budekatude

+0

問題ありません。どういたしまして! – Quint

関連する問題