プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

どなたかお助けください。。

現在、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

A 回答 (1件)

>プロシージャの呼び出し、または引数が不正です



参考URLをご覧ください。


http://www.google.co.jp/search?sourceid=navclien …

http://www.accessclub.jp/bbs3/0264/superbeg82268 …

参考URL:http://support.microsoft.com/kb/811469/ja
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!