|
>よくみたら、それだけではなさそうですね。
>
>
>>>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を使いました。
|
|