
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
この場合、「最後に¥はつかないので注意してください」という注意書きは、フォルダ名の末尾に「\」(円記号)を追加しないようにするという意味です。
理由
1. MKDir ステートメントの仕様
MKDir ステートメントは、指定されたパスに基づいてフォルダを作成します。ただし、末尾に「\」を付けると、システムがパス全体を無効とみなしてエラーを発生させることがあります。
例えば:
• 有効なパス: C:\Sample\ex5月
• 無効になる可能性のあるパス: C:\Sample\ex5月\
2. プログラムの内容と動作
プログラムの内容を見ると、以下のような構造になっています:
Sub sample095()
MKDir "C:\Sample\ex" & Month(Date) & "月"
End Sub
このコードでは、現在の月(Month(Date))を使って動的にフォルダ名を生成しています。例えば、11月の場合、フォルダ名は次のようになります:
C:\Sample\ex11月
ここで、末尾に「\」が付いてしまうと以下のようになります:
C:\Sample\ex11月\
このような末尾の「\」は、MKDir にとって不正なパスと見なされ、実行時エラーが発生します。
3. 注意点が必要な理由
VBAでは、ファイルやフォルダを扱う際に「\」を意図せずに末尾に付けてしまうミスが起こりやすいため、このような注意書きが記載されています。MKDir ステートメントでは、末尾に「\」が不要であることを覚えておけば、エラーを防げます。
補足: もしパスの末尾が不安なら
末尾に余分な「\」がついていないか確認したい場合は、VBAの文字列処理関数を利用して安全にパスを操作できます。
例: 末尾に「\」を付けないように処理
Sub sample095()
Dim folderPath As String
folderPath = "C:\Sample\ex" & Month(Date) & "月"
' 最後の文字が "\" でないことを確認
If Right(folderPath, 1) = "\" Then
folderPath = Left(folderPath, Len(folderPath) - 1)
End If
MKDir folderPath
End Sub
結論
「最後に¥はつかないので注意してください」というのは、MKDir でフォルダを作成する際に、末尾の「\」があるとエラーになるため、それを防ぐための注意書きです。この問題を避けるためには、末尾に「\」を付けないよう意識してコードを書く必要があります。
上記は生成AIの解答です。
参考になれば幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
excelVBAについて。
Excel(エクセル)
-
excelVBAについて。
Excel(エクセル)
-
excelVBAについて。
Excel(エクセル)
-
-
4
excelVBAについて。
Excel(エクセル)
-
5
ExcelVBAについて。
Excel(エクセル)
-
6
excelVBAについて。
Excel(エクセル)
-
7
excelVBAについて。
Excel(エクセル)
-
8
excelVBAについて。
Excel(エクセル)
-
9
ファイルとフォルダの移動について。
Excel(エクセル)
-
10
HTML&CSS メディアクエリについて。
HTML・CSS
-
11
excelVBAについて。
Excel(エクセル)
-
12
excelVBAについて。
Excel(エクセル)
-
13
実務の処理について。
Excel(エクセル)
-
14
HTML&CSSとHTML5&CSS3の違いについて。
HTML・CSS
-
15
excelVBAについて。
Excel(エクセル)
-
16
excelVBAについて。
Excel(エクセル)
-
17
excelVBAについて。
Excel(エクセル)
-
18
excelVBAについて。
Excel(エクセル)
-
19
新規ブックの作成について。
Excel(エクセル)
-
20
HTML&CSS メディアクエリ
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
if関数の複数条件について
-
excel
-
同じ名前(重複)かつ 日本 ア...
-
【マクロ】数式を入力したい。...
-
【画像あり】オートフィルター...
-
【マクロ】実行時エラー '424':...
-
Office2021のエクセルで米国株...
-
エクセルのVBAで集計をしたい
-
エクセルシートの見出しの文字...
-
VLOOKUP FALSEのこと
-
エクセルでフィルターした値を...
-
【マクロ】【画像あり】4つの...
-
エクセル GROUPBY関数について...
-
エクセルに写真が貼れない(フ...
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
【画像あり】【関数】指定した...
-
【関数】3つのセルの中で最新...
-
エクセルの文字数列関数と競馬...
-
表計算ソフトでの様式の呼称
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報
私の最初に提示したプログラムは、合っているのでしょうか?