2011年11月23日水曜日

[VBA] フォルダを作成 FileSystemObject

業務アプリを作っているとどうしても、エクセル関数やVBAだけでは足りない部分があります。
ファイルを移動させたり、フォルダを作成したりということはそのままではできません。
当たり前ですが、エクセルマクロの録画モードではフォルダ作成とかはできないわけです。

エクセルVBAからファイルやフォルダをいじるのに一番楽なのは、FileSystemObjectを使うことです。


マイクロソフトによる解説ページはこちら。
日本語で解説されているので楽ちんです。






NTTフレッツ光







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が返ってきます。 ちょっとまどろっこしい書き方にしましたが、明示的に何をやっているか分かりやすいのでこういう書き方にしました。


PVランキング 人気ブログランキングへ

0 件のコメント:

コメントを投稿