Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


21070 / 76738 ←次へ | 前へ→

【61074】Re:エクスプローラで選択されているファイル名を取得したい
発言  ichinose  - 09/4/8(水) 7:06 -

引用なし
パスワード
   おはようございます。

>現在ウィンドウズ・エクスプローラ上で選択されているファイル名をVBAから取得したい

一例として・・・、新規ブックにて試してください。

最初に上記新規ブックに参照設定にて、

「Microsoft Internet Controls」
「Microsoft Shell Controls And Automation」

上記二つにチェックを入れてください。


Thisworkbookのモジュールに

'===============================================================
Option Explicit
Private Declare Function BringWindowToTop Lib "USER32" (ByVal hWnd As Long) As Long
Private WithEvents ep As InternetExplorer
Private WithEvents flv As ShellFolderView
Sub main()
  Call stt_folder("D:\My Documents\TESTエリア\testarea2002")
End Sub
'=======================================================
Sub stt_folder(ByVal mypath As Variant)
  Set ep = CreateObject("InternetExplorer.Application")
  With ep
   .Visible = True
   .MenuBar = False
   .Navigate2 mypath
   Do While .Busy = True Or .ReadyState <> 4
    DoEvents
    Loop
   Set flv = .document
  End With
End Sub
'=======================================================
Private Sub ep_OnQuit()
  Set flv = Nothing
  Set ep = Nothing
End Sub
'=======================================================
Private Sub flv_SelectionChanged()
  Dim g0 As Long
  Dim sitm As Object
  For Each sitm In flv.SelectedItems
    Cells(g0 + 1, 1).Value = sitm.Name
    g0 = g0 + 1
  Next
  If g0 > 0 Then
    ep.Quit
  Else
    Call BringWindowToTop(ep.hWnd)
  End If
End Sub


これでThisworkbook.mainを実行してみてください。

指定されたフォルダが表示されえます。
適当に中のファイル(フォルダ)を選択して下さい。
選択されたファイル(フォルダ)名がアクティブシートのA列に
書き込まれます。


試してみてください

もっとも特定のフォルダから、ファイルを選択させたいという意味なら、

Application.GetOpenFilenameを使ったほうが簡単ですけどね!!

0 hits

【61060】エクスプローラで選択されているファイル名を取得したい ヨシナガ 09/4/7(火) 14:19 質問
【61067】Re:エクスプローラで選択されているファイ... Abyss 09/4/7(火) 22:41 発言
【61074】Re:エクスプローラで選択されているファイ... ichinose 09/4/8(水) 7:06 発言
【61081】Re:エクスプローラで選択されているファイ... ヨシナガ 09/4/8(水) 16:17 回答
【61083】Re:エクスプローラで選択されているファイ... Abyss 09/4/8(水) 16:30 回答
【61092】Re:エクスプローラで選択されているファイ... ヨシナガ 09/4/9(木) 9:59 お礼
【61093】Re:エクスプローラで選択されているファイ... ichinose 09/4/9(木) 10:11 発言
【61099】Re:エクスプローラで選択されているファイ... Abyss 09/4/9(木) 13:05 回答
【61139】Re:エクスプローラで選択されているファイ... ヨシナガ 09/4/10(金) 22:48 お礼
【61141】Re:エクスプローラで選択されているファイ... Abyss 09/4/10(金) 23:21 発言

21070 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free