• ベストアンサー

エクセル上でjpgデータを取得

WinXPでofficeXPです エクセルシート上に ファイル番号↓ 45555 47777 45754  ・  ・ があり、その番号を特定のフォルダからjpgファイルを 別フォルダにコピーするこって可能でしょうか? ただ、完全一致ではなく45555では 45555-1.jpg 45555-2.jpg 45555KK.jpg など45555を含む全てのファイルを取得したいのですが、 可能なのでしょうか?(かならずファイル名の後ろに-1、-2とかは付きます) さらに、その取得したファイルをシート上に記入したいのですが、 どうかおわかりの方がいらっしゃれば幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • toshi_2000
  • ベストアンサー率30% (306/1002)
回答No.2

1.準備   VBAの参照設定でWindows Script Host Object Modelにチェックを入れてください 2.前提条件   コピー元のフォルダ C:\TEST   コピー先のフォルダ C:\TEST1 45555が入っているシート:SHEET1   SHEET1には、1から3行目までデータがあるとします。   書き出すシート:SHEET2 3.マクロは、次のとおり。 Dim Fso As New FileSystemObject J = 0 Sheets("SHEET1").Select For I = 1 To 3 FI = Dir("c:\test\" & Cells(I, 1) & "*.JPG") Do While FI <> "" J = J + 1 Sheets("SHEET2").Cells(J, 1) = FI Fso.CopyFile "c:\test\" & FI, "c:\test1\" FI = Dir() Loop Next

naopon2000
質問者

お礼

適切なご意見誠にありがとうございました。 試してみたことろうまくいきました。 VBAの参照設定でWindows Script Host Object Model という便利な物があったのですね。 理解するにはまだ、難しいですが、いろいろ勉強していきたいと思います。

その他の回答 (1)

  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

こんにちは。 VBAにて、FileSearchオブジェクトを使ってできます。 ファイル検索にはワイルドカードも使用できます。 ファイル名も取得できますので、セルに書き出すこともできます。

関連するQ&A

専門家に質問してみよう