
エクセルを使用して、任意のフォルダを指定し、その中に入っているファイル(jpg画像ファイル)の名前を取得、画像をエクセルシート内に貼り付けていくというマクロを作成しています。
今回質問はその前段の部分、使用者が任意のフォルダを指定して、そのフォルダのパスをマクロが取得するというところでてこずっています。
現時点では、画像が入っているフォルダのウィンドウのアドレスバーに入っているパスを、コピぺでフォームに貼り付けさせてます^^;
それだと使用者にウインドウにアドレスバーを表示するには…みたいなところから説明しなければならないのでユーザーライクではありません。
そこで、通常良くあるような、フォルダやファイルを指定させるダイアログを出したり、もしくはフォームに任意のフォルダをドラッグ&ドロップしたりすることで、任意のフォルダのパスを取得できたらな、と思っています。
そのような方法(もしくはより良い方法)を実現するマクロの組み方をご存知でしたら、教えてくださいm(__)m
宜しくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
Set myWSH = CreateObject("WScript.Shell")
myDT = myWSH.SpecialFolders("Desktop")
Set myWSH = Nothing
Set mySh = CreateObject("Shell.Application")
Set myPath = mySh.BrowseForFolder(&O0, "フォルダを選んでください", &H1 + &H10, myDT)
If myPATH Is Nothing Then
MsgBox "フォルダ未選択(終了)"
Exit Sub
End If
フォルダ = myPath.Items.Item.Path
Set mySh = Nothing
Set myPath = Nothing
'個別ファイル 拡張子判断
Set myFS = CreateObject("Scripting.FileSystemObject")
For Each myF In myFS.GetFolder(フォルダ).Files
If LCase(myFS.GetExtensionName(myF)) = "jpg" Then
End If
Next
Set myFS = Nothing
No.3
- 回答日時:
こんばんは。
これは、任意ではありませんが、
Application.Dialogs(xlDialogInsertPicture).Show
画像ファイルを挿入するダイアログです。
>フォームに任意のフォルダをドラッグ&ドロップしたりすることで、
ユーザーフォームのことだと思いますが、以下のように、リストビューを使えば、任意のフォルダが取れます。ただし、エクスプローラなどが必要です。
'これは、リストビューのプロパティを直接換えれば、起動時の設定はいりません。
Private Sub UserForm_Initialize()
With Me.ListView1
.OLEDragMode = 1
.OLEDropMode = 1
.View = 2
End With
End Sub
Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, Effect As Long, Button As Integer, Shift As Integer, x As Single, y As Single)
Dim i As Long
With Me
AppActivate .Caption
.ListView1.ListItems.Clear
If Data.Files.Count < 1 Then Exit Sub
MsgBox Mid(Data.Files(1), 1, InStrRev(Data.Files(1), "\"))
End With
End Sub
No.2
- 回答日時:
質問がもうひとつ良く理解できてませんが、下記でどうですか。
Sub test03()
x = Application.GetOpenFilename
MsgBox x
p = InStrRev(x, "\")
MsgBox Mid(x, 1, p - 1)
End Sub
No.1
- 回答日時:
これではいかがでしょう?
Sub TEST01()
Dim ShellApp As Object
Dim myFolder As Object
Set ShellApp = CreateObject("Shell.Application")
Set myFolder = ShellApp.BrowseForFolder(0, "フォルダ選択", 1)
If myFolder Is Nothing Then Exit Sub
MsgBox myFolder.items.Item.Path, vbOKOnly, " フルパスだよ。( ̄ー ̄)v"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください 物件ごとのフォルダを作成してます そのフォルダ内にサブフォル 2 2023/07/02 17:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/26 17:13
- Excel(エクセル) 【VBA】フォルダAにある2つのファイルの内1つを、フォルダBへ。もう1つを、フォルダBへ移動したい 6 2022/07/26 08:51
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行すると メッセージボックスが表示されて okをク 4 2023/07/05 19:32
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで行うフォルダ・ファイル検...
-
【マクロ】ファイル名の日付に...
-
Windows10でコマンドプロンプト...
-
Wallpaper Engineでおすすめの...
-
【マクロ】フォルダAからダBへ...
-
VBScriptでのフォルダ指定ダイ...
-
VBA 最新のフォルダ取得
-
Excelvbaでブックをコピー名前...
-
ExcelのVBAでフォルダ指定がで...
-
VS2005で"定義へ移動"ができません
-
デスクトップの画像をhtmlに表...
-
【マクロ】フォルダにファイル...
-
会社のネットワーク上のファイ...
-
Excelで指定したフォルダに保存...
-
Perlのプログラムについて
-
エクセルのプロパティーでセキ...
-
xcopyコマンドの進行状況を表示...
-
複数のワークブックのVBAを変更...
-
ファイルサーバ上のファイルが...
-
カンマ区切りのCSVファイルから...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
パス名に2バイト文字(マルチバ...
-
デスクトップの画像をhtmlに表...
-
【マクロ】ファイル名の日付に...
-
C ファイル出力で、フォルダが...
-
ファイル名と同名のフォルダを...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
-
VBAでファイル名を指定して保存...
-
Access VBA で フォルダ権限...
-
サーバ内のフォルダ名と各フォ...
-
excelマクロ 冒頭3文字が一致す...
-
VBA フォルダ名に特定の文字を...
-
カレントフォルダって?
-
Excel VBA マクロ フォルダ名を...
-
VBA フォルダの複数選択ができない
-
ExcelVBAでフォルダへのハイパ...
-
ExcelのVBAでフォルダ指定がで...
おすすめ情報