VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 フォルダー関係のメニュー
1.FileSystemObject のフォルダーに関するメソッド・プロパティについて
2.フォルダーに関する基本的なワンポイントサンプル集
3.フォルダー(ディレクトリ)に関するパス操作色々
4.指定のフォルダーのファイル数・サブフォルダー数・総バイト数を取得
5.指定のフォルダーをエクスプローラーで表示
6.深い階層のフォルダーを一発で作成する
7.ファイル・フォルダーをごみ箱へ
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載のフォルダーに関するサンプル


6.深い階層のフォルダーを一発で作成する
1.深い階層のフォルダーを一発で作成する
2.
3.
4.
5.
6.
7.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:                       参照設定方法参照
使用 API:
SHCreateDirectoryEx
その他 :このサンプルは、 Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。
    :
このページのトップへ移動します。 1.深い階層のフォルダーを一発で作成する

Option Explicit   'SampleNo=420 2005.06.17

Private Declare Function SHCreateDirectoryEx Lib _
  "shell32" Alias "SHCreateDirectoryExA" ( _
  ByVal hwnd As Long, _
  ByVal pszPath As String, _
  ByVal psa As Long) As Long

Private Const ERROR_FILE_EXISTS = 80
Private Const ERROR_ALREADY_EXISTS = 183

Private Sub Command1_Click()
  Dim Ret As Long
  Ret = SHCreateDirectoryEx(0&, "c:\Test\Test1\test2\Test3", 0&)
  If Ret = 0 Then
    MsgBox "ディレクトリを作成しました。"
  ElseIf Ret = ERROR_FILE_EXISTS Or Ret = ERROR_ALREADY_EXISTS Then
    MsgBox "ディレクトリは存在しています。"
  Else
    MsgBox "ディレクトリを作成できませんでした。"
  End If
End Sub

通常深い階層のフォルダーを作成する場合、順番に作成しないと作成できません。SHCreateDirectoryEx API 関数を使用すれば、深い階層のフォルダーが一発で作成できます。又、第3引数には必要によりSECURITY_ATTRIBUTES を設定して下さい。

このページのトップへ移動します。 2.


このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 7.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。