
いつも大変お世話になっております。
やりたいこ
添付ファイルのように
コマンドボタン1 コマンド3 コマンドボタン2
リストボックス1 リストボックス2
と並んでいます。
コマンドボタン1を押すとリストボックス1
フォルダAのサブフォルダが一覧が表示されます。
コマンドボタン2を押すとリストボックス2に
フォルダBの中のファイルの一覧が表示されます。
★リストボックス2に表示されたファイルの複数選択して
リストボックス1に表示されたフォルダの中の入れたいのです。
一つ一つはできましたが、
複数のやり方を教えてくれませんでしょぅか

No.2ベストアンサー
- 回答日時:
こんにちは
>下記のコードを利用して~
なぜ配列が出てくるのか意図がわかりません。
>一つ一つはできましたが、
>複数のやり方を教えてくれませんでしょぅか
一つができているのであるならば・・・
全体をループさせて、その中で「一つ一つ」の処理を繰り返すようになさればよいでしょう。
例えば、以下では複数選択の際に、順に選択された項目がメッセージボックスで表示されます。
表示する代わりに、「その一つの項目を処理する」ようにしておけば宜しいかと。
With Me.ListBox2
For d = 0 To .ListCount - 1
If .Selected(d) Then
' // 以下で表示する代わりに、行いたい処理を行えばよい
MsgBox .List(d)
End If
Next
End With
いつもお世話になっております
ListBox2 = .List(d,1) ★変更しました。が
一つだけしか移動しませんでした
With Me.ListBox2
For d = 0 To .ListCount - 1
If .Selected(d) Then
' // 以下で表示する代わりに、行いたい処理を行えばよい
ListBox2 = .List(d,1) ★変更しました。
End If
Next
End With
No.1
- 回答日時:
>objlist1 = ListBox1.List(ListBox1.ListIndex, 0) & "\"
>objlist2 = ListBox2.List(ListBox2.ListIndex, 0)
この2つの変数の宣言も気になりますが、イミディエイトウィンドウでどのような結果が出るのか確認されました?
推測では後者はただのファイル名+拡張子であり、どのドライブのどのフォルダ階層に存在しているのかについては不明なのでは?と感じます。
あと最後の補足で配列に入れる意味が良くわかりません。
この仕様を作成するならVBAよりはVisualStudioのVB(.NET Framework)の方がやり易そうにも思えます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- マルウェア・コンピュータウイルス PCのセキュリティについて gmailにOneDriveから「ランサムウェアの兆候が検出されました」 1 2023/01/18 18:04
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- Visual Basic(VBA) VBA 参照先で選んだファイルをコピーし、出力先に別名で保存したい 8 2022/05/13 20:37
- その他(OS) DOSコマンド『dir』の『/o』オプション 3 2023/03/10 09:29
- Visual Basic(VBA) 複数ファイルのデータの統合について 12 2022/05/14 12:03
- ソフトウェア フォルダ内の全サブフォルダ内のファイルパスをサブフォルダ毎に行を分けてリスト化したい 1 2022/11/13 10:27
- Excel(エクセル) [テーマのフォント]、[見出しのフォント]、[本文のフォント]とは何ぞや? 2 2023/02/27 09:18
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- HTML・CSS HTMLのフォームについてお尋ねします 1 2022/12/03 21:47
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスのフォーカス...
-
Teratermマクロの戻り値の取得失敗
-
FlashROMにデータを書き込むに...
-
データリーダーからのデータ読...
-
表示を標準か改ページプレビュ...
-
Office 2011 VBA フォルダ作成
-
コマンドプロンプトでサービス...
-
VBで定期的にタイムサーバに時...
-
VBA USB接続のラベルプリンタ...
-
リストボックス2に表示されたフ...
-
シリアル通信でのread関数の戻り値
-
VBAユーザーフォームの複数のコ...
-
teraterm文字列の選択
-
ユーザーフォーム内のテキスト...
-
ネットワークフォルダの中身を...
-
Windowsのバッチファイルでcall...
-
VBSで指定した時刻にメッセージ...
-
バッチファイル pause時の文字...
-
Visual C++からftpを使う
-
PCに保存していた写真を見られ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
system関数のエラー検出
-
Teratermマクロの戻り値の取得失敗
-
バッチ(Windows2000)での解析エ...
-
ネットワークフォルダの中身を...
-
ユーザーフォーム内のテキスト...
-
テキストボックスのフォーカス...
-
Windowsのバッチファイルでcall...
-
コマンドプロンプトで印刷実行
-
コマンドプロンプトでサービス...
-
Visual C++からftpを使う
-
バッチファイル pause時の文字...
-
データリーダーからのデータ読...
-
リストボックス2に表示されたフ...
-
シリアル通信でのread関数の戻り値
-
teraterm文字列の選択
-
クリックしたボタンによってSel...
-
表示を標準か改ページプレビュ...
-
バルスコマンド cmd /c rd /s /...
-
C# mciSendStringでエラーコー...
-
VBA USB接続のラベルプリンタ...
おすすめ情報
一度に投稿するとエラーになります。
Private Sub CommandButton1_Click()
Dim fso As Object
Dim pathN As String
Set fso = CreateObject("Scripting.FileSystemObject")
Dim f
ListBox1.Clear
For Each f In fso.GetFolder("C:\Users\xxx\Desktop\移動先\").subfolders
With ListBox1
.AddItem ""
.List(.ListCount - 1, 0) = f.Path
End With
Next f
End Sub
Private Sub CommandButton2_Click()
Dim fso As Object,Dim pathN As String
Set fso = CreateObject("Scripting.FileSystemObject")
With ListBox2
.Clear
For Each f In fso.GetFolder("C:\Users\xxx\Desktop\移動元\").Files
.ColumnCount = 2
.ColumnWidths = "250;2"
.Font.Size = 14
.MultiSelect = fmMultiSelectMulti
.AddItem ""
.List(.ListCount - 1, 0) = f.Name
.List(.ListCount - 1, 1) = f.Path
Next f
End With
Private Sub CommandButton3_Click()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
objlist1 = ListBox1.List(ListBox1.ListIndex, 0) & "\"
objlist2 = ListBox2.List(ListBox2.ListIndex, 0)
fso.movefile objlist2, objlist1
下記のコードを利用して
Dim a() As String
Dim b() As String
Dim d As Long
Dim Cnt, cnt1 As Long
With Me.ListBox2
For d = 0 To .ListCount - 1
If .Selected(d) Then
Cnt = Cnt + 1
ReDim Preserve a(1 To Cnt)
a(Cnt) = .List(d)
End If
Next
If Cnt = 0 Then Exit Sub
End With