|
▼かみちゃん さん:
名前間違い、すいませんでした。
>Sub Test1()
> Dim ss As String
> Dim v As Variant
>
> ss = "Singer1 Music_aaa AAA"
> v = Split(StrConv(ss, vbNarrow), " ")
> Cells(1, 1).Resize(, UBound(v) + 1).Value = v
>End Sub
↑これを参考に、今までの分を全て載せると
Option Explicit
Public cnt, Pop As Integer
Sub test3()
Dim FolderSpec As String
FolderSpec = FolderPath
cnt = 1
Pop = 1
If FolderSpec <> "" Then
ListUp FolderSpec
End If
End Sub
Sub ListUp(FolderSpec)
Dim Folder_Collection As Object
Dim Folder_List As Variant
Dim ss As String
Dim v As Variant
Set Folder_Collection = CreateObject("Scripting.FileSystemObject").GetFolder(FolderSpec).SubFolders
For Each Folder_List In Folder_Collection
Cells(cnt, 1) = Folder_List.Name
ss = Folder_List.Name
Cells(cnt, 2).Value = Split(StrConv(ss, vbNarrow), " ")
v = Split(StrConv(ss, vbNarrow), " ")
Cells(cnt, 3).Value = v
cnt = cnt + 1
Next
End Sub
Function FolderPath() As String
Dim Shell As Object
Set Shell = CreateObject("Shell.Application").BrowseForFolder(0, "フォルダを選択してください", 0, "")
If Shell Is Nothing Then
FolderPath = ""
Else
FolderPath = Shell.Items.Item.Path
End If
End Function
こうしたのですが、C列もB列と同じ「スペースより前半の名前」になってしまい、
>Sub Test1()
> Dim ss As String
> Dim v As Variant
>
> ss = "Singer1 Music_aaa AAA"
> v = Split(StrConv(ss, vbNarrow), " ")
> Cells(1, 1).Resize(, UBound(v) + 1).Value = v
>End Sub
のように、うまくわかれてくれません。
どこがおかしい部分なのでしょうか。
Cells(cnt, 1) = Folder_List.Name
ss = Folder_List.Name
Cells(cnt, 2).Value = Split(StrConv(ss, vbNarrow), " ")
v = Split(StrConv(ss, vbNarrow), " ")
Cells(cnt, 3).Value = v
だとおもうのですが。変え方がわからず・・・
やりたいこと
A列:フォルダ名全て
B列:スペースより前半の名前
C列:スペースより後半の名前
としたいです。
|
|