- 締切済み
プロシージャの呼び出し、または引数が不正です・・・
お世話になります。 どなたかお助けください。。 現在、Excel2003のVBAで、シートに配置したテキストボックスに、外部テキストファイルから値を引っ張ってきて、表示するプログラムを書いているのですが、下記の「buf = Space(FileLen(TargetFile(i)))」この部分で 「プロシージャの呼び出し、または引数が不正です」とエラーが出てしまいます。 まったく何が悪いのか検討が付かずこまっています…。 よろしくお願いします。 Private Sub Workbook_Open() Dim 省略… Set SH1 = Worksheets("テスト") TargetFile1 = ThisWorkbook.Path & "\..\..\..\..\..\..\sample\a\b\c" TargetFile2 = ThisWorkbook.Path & "\..\..\..\..\..\..\sample\a\b\d" TargetFile3 = ThisWorkbook.Path & "\..\..\..\..\..\..\sample\a\b\e" TargetFile = Array(TargetFile1, TargetFile2, TargetFile3) '<一つ上の階層のフォルダ名を取得> myParentFolder = Left(ThisWorkbook.Path, InStrRev(ThisWorkbook.Path, "\", -1, vbTextCompare)) '<ファイルのベースネームを取得> Set FSO = CreateObject("Scripting.FileSystemObject") myParentF = FSO.GetFolder(myParentFolder).ParentFolder myParentF2 = FSO.GetFolder(myParentF).ParentFolder myParentF3 = FSO.GetFolder(myParentF2).ParentFolder BaseName0 = FSO.GetBaseName(myParentF3) BaseName1 = FSO.GetBaseName(myParentF2) BaseName2 = FSO.GetBaseName(myParentF) BaseName3 = FSO.GetBaseName(myParentFolder) BaseName4 = FSO.GetBaseName(ThisWorkbook.Path) '<ページ情報を外部テキストから読み込み> '※値が空の場合のみ再度読み込み For i = 0 To 2 If SH1.OLEObjects("TextBox" & i + 1).Object.Value = "" Then n = FreeFile buf = Space(FileLen(TargetFile(i))) Open TargetFile(i) For Binary As #n Get #n, , buf Close #n If i = 0 Or i = 1 Then SH1.OLEObjects("info" & i + 1).Object.Value = buf Else SH1.OLEObjects("info" & i + 1).Object.Value = BaseName0 & " > " & BaseName1 & " > " & BaseName2 & " > " & BaseName3 & " > " & BaseName4 & buf End If End If Next i Set FSO = Nothing End Sub
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- goold-man
- ベストアンサー率37% (8364/22179)