ラベル MSDN の投稿を表示しています。 すべての投稿を表示
ラベル MSDN の投稿を表示しています。 すべての投稿を表示

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ランキング 人気ブログランキングへ

2011年11月10日木曜日

これが手元にないなら、モグリです~武器になるレファレンス~

いきなり変なタイトルですが、武器を配りたいんすよw
エクセルでVBAのコードを書くときに分からないことがあったらどうしてますか?
ググって誰かのサイトを見るのも手です。
ピンポイントで回答が見つかればいいんですが見つからないことも多々あるし、細かいところ正しいところってのは確認しにくいもんです。

そういうときは、ボクはヘルプ機能を使って調べるってのをよくやります。


こんな感じです。細かい部分を調べるときには、メンドーですがこれが神です。

ただ、新しいことをやる際にはどうメソッドがあるのか分からないし、名称も知らない。
こういうときは、ググりようがないですよね。
そんな中で役に立つのがここ。
マイクロソフトが作成しているDeveloper Referenceです。



日本語があればいいんですが、残念なことに英語のみです。

ただこれだけ読んどけば簡単にコードが書ける!!、わけはなく…。
もちろんプロはこれで十分なんでしょうが…。

このサイトでも適宜ここを参考に大事なポイントをまとめていきます!




BLOG・SNSレンタル部門 PVランキング 人気ブログランキングへ