No.3ベストアンサー
- 回答日時:
ANo2です。
ANo1さんから、回答が出ていますが、わたしの書いたANo2が明らかに間違っていたので修正します。
Sub TEST02()
Dim ShellApp As Object
Dim myFdr As Object
Dim i As Long
Dim myPth As String, myFle As String '以上変数宣言
Set ShellApp = CreateObject("Shell.Application")
Set myFdr = ShellApp.BrowseForFolder(0, "フォルダ選択", 1) 'フォルダ指定
myPth = myFdr.items.Item.Path 'パス取得
myFle = Dir(myPth & "\*.*", vbNormal) 'ファイル名を取得
Do While myFle <> "" ' ファイルがあるだけ繰り返す
i = i + 1 ' 行加算
Cells(i, "A").Value = myFle '転記
ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, "A"), Address:=myPth & "\" & myFle 'ハイパーリンク
myFle = Dir() ' 次のファイル名を取得
Loop
End Sub
ご回答有り難うございました.
書かれていた内容をコピーして実行したところ,私の思い描いたことが,瞬時に実行できました.
"素晴らしい!"の一言です.
これで手間をかけずファイルを開けるシステムができました.有り難うございました.
No.2
- 回答日時:
それではご要望のファイル名リスト作成の一例です。
Sub TEST01()
Dim ShellApp As Object
Dim myFdr As Object
Dim myPth As String, myFle As String
Set ShellApp = CreateObject("Shell.Application")
Set myFdr = ShellApp.BrowseForFolder(0, "フォルダ選択", 1)
myPth = oFolder.items.Item.Path 'フォルダ指定
myFle = Dir(myPth & "\*.*", vbNormal) 'ファイル名を取得
Do While myFle <> "" ' ファイルがあるだけ繰り返す
i = i + 1 ' 行を加算
Cells(i, "A").Value = myFle '転記
myFle = Dir() ' 次のファイル名を取得
Loop
End Sub
No.1
- 回答日時:
>ダイアログボックスの中のすべてのファイルを順に読み込む操作は
作成例:
sub macro1()
dim i, myfile
with application.filedialog(msofiledialogfolderpicker)
if .show = true then
myfile = dir(.selecteditems(1) & "\*.*")
do until myfile = ""
i = i + 1
cells(i, "A") = myfile
activesheet.hyperlinks.add anchor:=cells(i, "A"), address:=.selecteditems(1) & "\" & myfile
myfile = dir()
loop
end if
end with
end sub
などのように。
他にも
○フォルダの中のファイルを1つ指定したら,それと同じ層にあるファイルを順繰り拾いたい
○フォルダの中で複数のファイルを指定して,選んだファイルだけを順繰り拾いたい
○フォルダを明示的に選択して,その中にあるファイルを拾いたい
等々,具体的にヤリタイ事のデザインに応じて様々な手が考えられます。
「実はもっとこういう事がしたいんです」のアイデアが湧いたら,寄せられた回答などを参考に一度頑張ってみて,それで出来なければまた新しいご相談として投稿してみてください。
参考に:
http://officetanaka.net/excel/vba/tips/tips39.htm
早速ご回答と親切な助言を頂き有り難うございました.
上記をコピーして実行しましたら,次の部分でエラーメッセージが出ました.
with application.filedialog(msofiledialogfolderpicker)
エラーメッセージは,"実行時エラー'438'オブジェクトはこのメソッドまたはプロパティをサポートしていません"でした.
私は,Excel2000を使っているために,エラーになったのではないかと思っています.VBAの中のobjectの機能について調べる方法を知らないので,これから勉強したいと思います.
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PostgreSQL ポストグレにあるExcelファイルを開くには 1 2022/12/13 18:07
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) Excel ハイパーリンク設定について 教えてください 例なんですが、 VBAにてファイル1の列Gに 2 2022/11/04 17:52
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- その他(Microsoft Office) OneDrive Personalについて 1 2022/08/02 18:25
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
動かなくなってしまった古いVBA...
-
FileDialog オブジェクトでファ...
-
複数のワークブックのVBAを変更...
-
vbaサブフォルダーをワイルドカ...
-
サブフォルダ含むフォルダ内の...
-
コモンダイアログでフォルダを...
-
excel マクロ PDF化の際のエラ...
-
VBAでフォルダ内のhtmlファイル...
-
「エクセルファイルが開いてい...
-
Filesearchオブジェクトを使用...
-
Accessのウインドウサイズの固定
-
ffftpでファイル取得が0バイト...
-
VBからExcelファイルを開くとき...
-
Excel VBA Outlookメールにエ...
-
エクセルとPDFの連携
-
Excel for mac 2011でDir関数?
-
VBAでCSVファイルを読み込もう...
-
ディレクトリ配下のファイル名...
-
フォルダ階層・ファイル名・ペ...
-
タイムスタンプの更新の方法2
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbaサブフォルダーをワイルドカ...
-
動かなくなってしまった古いVBA...
-
ffftpでファイル取得が0バイト...
-
FileDialog オブジェクトでファ...
-
サブフォルダ含むフォルダ内の...
-
「エクセルファイルが開いてい...
-
Accessのウインドウサイズの固定
-
excel マクロ PDF化の際のエラ...
-
ExcelVBA 文字コード変換
-
AccessからOLEオブジェクト型の...
-
VBAでフォルダ内のhtmlファイル...
-
【VBAマクロ初心者】Excel VBA...
-
VBからExcelファイルを開くとき...
-
「AccessViolationException」...
-
【ACCESS VBA】アクセスからデ...
-
VB6でUTF-8ファイルの読取りを
-
ファイルを開く時間測定のスク...
-
複数のワークブックのVBAを変更...
-
VB.net XMLの作成方法 Iniの代替
-
エクセルのVBAで開いている...
おすすめ情報