ファイルを移動させたり、フォルダを作成したりということはそのままではできません。
当たり前ですが、エクセルマクロの録画モードではフォルダ作成とかはできないわけです。
エクセルVBAからファイルやフォルダをいじるのに一番楽なのは、FileSystemObjectを使うことです。
マイクロソフトによる解説ページはこちら。
日本語で解説されているので楽ちんです。
FileSystemObjectを使う
決まり事として書かないといけないことがいくつかあります。Dim fso as Object Set fso = CreateObject("Scripting.FileSystemObject")
これでOKです。
参照設定で、Microsoft Scripting Runtimeをチェックしておくと、ヘルプ機能とかがフルに使えるので便利です。
フォルダを作成する
Dim fso as Object Set fso = CreateObject("Scripting.FileSystemObject") fso.CreateFolder フォルダ名
これで好きなフォルダを作成できます。
せっかくなので、「フォルダがすでにあるかどうかを調べて、ない場合には作成する」というのをやりましょう。
flag = objFSO.FolderExists(フォルダ名) If flag = False Then fso.CreateFolder フォルダ名 end if
FolderExists(フォルダ名)はFileSystemObjectのメソッドで、フォルダの存在を調べてくれるものです。
あればTrue、なければFalseが返ってきます。 ちょっとまどろっこしい書き方にしましたが、明示的に何をやっているか分かりやすいのでこういう書き方にしました。
0 件のコメント:
コメントを投稿