|
よくみたら、それだけではなさそうですね。
>>FiletoOpen = application _
>> .GetOpenFilename("csvファイル(*.csv),*.csv")
>>Workbooks.Open Filename:=FiletoOpen
FiletoOpenには、フルパスが入っているはずです。
(D:\My Documents\abc.csv とか)
>>Set WS = Workbooks("FiletoOpen").Worksheets("FiletoOpen")
↑でも駄目ですが、
>Set WS = Workbooks(FiletoOpen).Worksheets(FiletoOpen)
矢印でも駄目です。
簡単なのは、Csvファイルをオープンするときに変数WSにセットする方法ですが、
FiletoOpen = application.GetOpenFilename("csvファイル(*.csv),*.csv")
set ws=Workbooks.Open Filename:=FiletoOpen
'処理
ws.activate
Set WS = Workbooks(FiletoOpen).Worksheets(FiletoOpen)
の形式でやるのならFiletoOpenを編集しなければなりませんね。
Set fso = CreateObject("Scripting.FileSystemObject")
With fso
bknm = .GetFileName(FiletoOpen)
shtnm = .GetBaseName(FiletoOpen)
End With
Set ws = Workbooks(bknm).Worksheets(shtnm)
ws.Activate
Set fso = Nothing
VBAの関数でもできそうですが、簡単なのでFsoを使いました。
|
|