質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

1回答

2769閲覧

vbsでサブフォルダを作成したい

poipoi5819

総合スコア9

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

0クリップ

投稿2020/12/02 05:02

vbsを使って、名前を付けてフォルダを作成した後、そのフォルダ内に所定の名前のサブフォルダを
作成する方法が知りたいです。
下記コードでInputBoxに入力した名前にてフォルダ作成ができますが、その作成したフォルダ内に
複数のフォルダ(4フォルダ:"KANRI"、"TAISAKU"、"KAKUNIN"、"KANRYO")を作成したいと思って
います。
ご教示頂きたくお願い致します。

Option Explicit Dim objFSO Dim strFolder Dim strMessage Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") '作成するフォルダ名 strFolder = InputBox("フォルダ名を入力してください。", "フォルダ名を入力") IF strFolder = "" Then WScript.Quit if objFSO.FolderExists(strFolder) = True Then '同名のフォルダがあるか strMessage = strFolder + "は既に存在しています。" else 'フォルダの作成 objFSO.CreateFolder(strFolder) 'フォルダ作成の処理で、エラーが発生していないか if Err.Number = 0 Then strMessage = strFolder & "を作成しました。" else strMessage = "エラー:" & Err.Description end if end if MsgBox(strMessage)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

普通に、CreateFolder("aaa\bbb")とかでサブフォルダーbbbが作成できると思います。

投稿2020/12/02 05:21

otn

総合スコア84559

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

poipoi5819

2020/12/03 12:59

otnさん お世話になります。 ご回答ありがとうございました。 CreateFolder("aaa\bbb")で、aaaが変数でもサブフォルダbbbが作成できますでしょうか?  objFSO.CreateFolder(strFolder) のstrFolderが変数で、試しにobjFSO.CreateFolder(strFolder\bbb)としてみましたが、エラーで作成できませんでした。 宜しくお願い申し上げます。
otn

2020/12/03 13:03

> CreateFolder("aaa\bbb")で、aaaが変数でもサブフォルダbbbが作成できますでしょうか?  そこですか! aaaは変数じゃ無いです。文字列です。 > objFSO.CreateFolder(strFolder) のstrFolderが変数で、試しにobjFSO.CreateFolder(strFolder\bbb) objFSO.CreateFolder(strFolder & "\bbb") 文字列とは何かを勉強しましょう。
poipoi5819

2020/12/03 23:58 編集

otnさん お世話になります。 ご回答ありがとうございました。 ご教示頂いた方法をもとに解決できました。 VBA同様にvbsも&で連結できるのですね。 >文字列とは何かを勉強しましょう。 おっしゃるとおりです。 ありがとうございました。助かりました。 サブフォルダはいったんベタ書きで書いてみましたが、別txtファイル等にリスト化し リストを読み込むことで柔軟に作成できると思うので、そこはさらに勉強します。 Option Explicit Dim objFSO Dim strFolder Dim strMessage Dim FolKANRI Dim FolTAISAKU Dim FolKAKUNIN Dim FolKANRYO Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") ' sub1 = "KANRI" '作成するフォルダ名 strFolder = InputBox("フォルダ名を入力してください。", "フォルダ名を入力") IF strFolder = "" Then WScript.Quit if objFSO.FolderExists(strFolder) = True Then '同名のフォルダがあるか strMessage = strFolder + "は既に存在しています。" else 'フォルダの作成 objFSO.CreateFolder(strFolder) FolKANRI = strFolder & "\" & "KANRI" FolTAISAKU = strFolder & "\" & "TAISAKU" FolKAKUNIN = strFolder & "\" & "KAKUNIN" FolKANRYO = strFolder & "\" & "KANRYO" 'サブフォルダの作成 objFSO.CreateFolder(FolKANRI) objFSO.CreateFolder(FolTAISAKU) objFSO.CreateFolder(FolKAKUNIN) objFSO.CreateFolder(FolKANRYO) 'フォルダ作成の処理で、エラーが発生していないか if Err.Number = 0 Then strMessage = strFolder & "を作成しました。" else strMessage = "エラー:" & Err.Description end if end if MsgBox(strMessage)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問