teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

回答を受けての修正

2017/01/29 04:30

投稿

Yukiyama7.4
Yukiyama7.4

スコア20

title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,10 @@
5
5
  指定したフォルダーパス内のファイル名を取得し、装飾して指定したセルに格納していく。
6
6
  ファイル名に半角の片仮名か記号、もしくは全角のアルファベットか数字が含まれていた場合、格納したセルと同じ行にエラー文を入れる。
7
7
 
8
+ **2017-01-29追記**
9
+ 回答ありがとうございます。
10
+ それぞれのIFで判別はできるようになりましたが、ファイル名の先頭の文字のみを参照しているようで、途中や最後に含まれている場合にIFに掛かりません。
11
+ 記号はこちらで使いそうな物だけにまとめました。
8
12
  ```VBA
9
13
  Sub Test()
10
14
  Cells.Clear
@@ -12,21 +16,31 @@
12
16
  Const Path As String = "ここにフォルダーパス"
13
17
  buf = Dir(Path & "*.wav") '.wavファイルのみを抽出
14
18
  Do While buf <> ""
15
- buf = Left(buf, Len(buf) - 4) '後ろの「.wav」を削除
19
+ buf = Left(buf, Len(buf) - 4)
16
20
  cnt = cnt + 1
17
21
  Cells(cnt, 1) = Len(buf)
18
22
  Cells(cnt, 2) = "N"
19
23
  Cells(cnt, 3) = buf
20
24
  Cells(cnt, 4) = "(Soundw " & buf & ")"
21
25
 
22
- If buf Like "[!ア-ン]" Then 'ここのIFで判断してエラー文をセルに入れる。
26
+ If buf Like "[ア-ン]*" Then
23
- Cells(cnt, 5) = "半角有り"
27
+ Cells(cnt, 5) = "半角片仮名有り"
24
28
  Cells(cnt, 5).Font.Color = RGB(255, 0, 0)
25
29
  End If
30
+ If buf Like "[/! ・ 。 、 ( )]*" Then
31
+ Cells(cnt, 5) = "半角記号有り"
32
+ Cells(cnt, 5).Font.Color = RGB(255, 0, 0)
33
+ End If
34
+ If buf Like "[A-z]*" Then
35
+ Cells(cnt, 5) = "全角アルファベット有り"
36
+ Cells(cnt, 5).Font.Color = RGB(255, 0, 0)
37
+ End If
38
+ If buf Like "[0-9]*" Then
39
+ Cells(cnt, 5) = "全角数字有り"
40
+ Cells(cnt, 5).Font.Color = RGB(255, 0, 0)
41
+ End If
26
42
 
27
43
  buf = Dir()
28
44
  Loop
29
45
  End Sub
30
-
31
-
32
46
  ```