• ベストアンサー

エクセル上で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

  • Excelにjpgデータの貼り付け

    エクセルのシートにエクスプローラーから、jpgファイルをドラッグすると、シート上で、□+のマークがでますが、貼り付けることはできません!!一方、挿入-図-ファイルからでjpgファイルを選択するとjpgデータを貼り付けることができます。 単純に、エクスプローラーからのドラッグ&ドロップでjpgファイルを貼り付ける方法ってないのでしょうか?宜しくお願いします。

  • エクセルのマクロでファイルのシート名一覧を取得したい

    特定フォルダ内にエクセルのファイルが複数あります。 エクセルのファイル名の取得は「Filesearch」を使い取得出来ました。 更にそのファイルの中にあるシート名を取得し、シート名の一覧を ワークシートに貼り付けたいと考えています。 よろしくご教授ください。

  • 複数のEXCELファイルより一部の行を自動でマージするマクロ

    「(1)複数のEXCELファイル」より、「(2)特定のシート」の中のさらに「(3)特定の行」をコピーし、あるEXCELファイルの1シートに挿入していくマクロ(VBA)か、ソフトが掲載されているサイト、もしくは、やりかたを教えてください。 1.EXCELは、2003 2.「(1)複数のEXCELファイル」は、一つのフォルダにあり、データ形式は一緒。  そのフォルダにはEXCELファイルしか置きません。 3.「(2)特定のシート」について、シート名はどれも一部のみ一致します。  または位置(順番)は一緒です。 4.「(3)特定の行」はどのファイルも作りが一緒です。 VBA初心者ですが、ヒントをいただければ頑張りたいと考えています。

  • ファイル名「1.jpg ~10.jpg~」のソート

    ただ今、エクセルのvbaを使って 複数の写真ファイルを一気に貼り付けてJPEGに変換するプログラムを作っています。 だいたいはできたのですが、一つ壁にぶつかりました。 アルゴリズムは指定したフォルダのファイル名を取得し、それをリスト用のシートに出力し、使用者に必要なファイルを取捨選択してもらうようにしています。 フォルダのファイル名は下記URLのサンプルから使わせていただいています。 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_080.html しかし、これを使うと、 「1.jpg、2.jpg~10.jpg・・・」のファイル名を取得すると、 「1.jpg、10.jpg、2.jpg・・・」 という風になります。これを回避するには現状「01.jpg、02.jpg~10.jpg・・・」と名前をつけるしかないのですが、不特定多数の人に使わせるので、出来るだけ汎用性を持たせたいと思っています。 例えば 「テスト1-1.jpg、テスト1-2.jpg~テスト1-10.jpg・・・ テスト10-1.jpg、テスト10-2.jpg~テスト10-10.jpg・・・ テスト11-1.jpg、テスト11-2.jpg~テスト11-10.jpg・・・」 というファイル名を上の通りに並べ変えるとしたら、どうすればいいでしょうか? 難しい場合は 「01.jpg、02.jpg~10.jpg・・・」 の時だけでもいいのでよろしくお願いします。

  • エクセル 同じデータなのに違うという判定

    2つのエクセルファイル(電話番号リスト)を比較し、一致するものだけを抽出するという操作をしています。 フィルタオプションを使い、一致するものを抽出しているのですが、まったく同じ電話番号なのに、フィルタオプションで抽出されないものがあり、困っています。 たとえば、0120-234567という電話番号がファイル1にあったとして、まったく同じ番号がファイル2にもあるのですが、この2つが違うデータとして扱われてしまうのです。 試しに2つのファイルから、セルをそのままコピーし、別のエクセルファイルに並べ、if(A1=A2,"一致","一致しない")という関数をしてみると、なんと「一致しない」でした。 見た目的には全く同じなのに、何故なのでしょうか。 ちなみにそれぞれの電話番号セルをダブルクリックし、文字列のみコピーして同じことをすると、「一致する」になりました。 セルに見えないデータでもあるのかと、cleanをしてみましたが、セルをそのままコピーする方法だと、cleanをしても「一致しない」です。 一つ一つのセルをダブルクリック→文字列コピーをすればよいのですが、件数が多く手間です。 この2つのデータが見た目通り同じものだとされるためには、どのような方法があるでしょうか。

  • エクセル マクロで

    教えて下さい。 ある特定のフォルダ内に(例 c:\写真) に いくつかのファイルがはいっています。 あるセルに ファイル名を入力すると フォルダ内にある ファイルから セルに記入したファイルと一致する ファイルを 読み込み 貼り付けるマクロを教えて下さい。 ちなみにファイルは jpg等の写真ファイルです。

  • UTL_FILE.FCOPYでJPGファイルが、正しく表示されないのですが解決方法はありますか?

    表題とおりの質問ですが、UTL_FILE.FCOPYにてサーバにあるフォルダからフォルダへファイルをコピーするんですが、、 その対象ファイルがJPGファイルとなっていて、 簡易なプロシージャを作成してオブジェクトブラウザーから実行してみたところ、 コピー先フォルダへはJPGファイルが作成されているんですが、ファイルを開いてみると画像が表示されなかったり、 画像が化けていたりと、正しく表示されません。 テキストファイルでやってみたところ正しく表示されるのですが、 JPGファイルは正しく表示されません。 バイナリファイルはやっぱり駄目なんでしょうか? また設計者にJPGファイルが正しく表示されないことを確認してもらったのですが、最悪UTL_FILE.FCOPYにて表示されない 場合には、ログファイルにBATで実行できるようにログをはいてくれと言われたのですが、 初心者のためあまりバッチファイルを作成したことが少なく、どうログをはけばいいのかもわかりませんので、 どのようにログにはけばいいか詳しいかたできたらお願いいたします。 <簡単な仕様> 1.テーブル1から社員番号を取得(全件) 2.サーバ(取得先フォルダ.JPGファイルがあるかないか判別) テーブル1.社員番号 = 取得先.社員番号.jpg (条件) 3.対象ファイルがある場合に、COPY先フォルダへJPGファイルをコピー。 といった簡単な処理なんですが。 バッチファイルでの実行だと、あまり詳しくないので推測ですいません。 フォルダからフォルダへ。フォルダごとコピーできたりすると思うのですが、 今回はテーブル1にある社員のみコピーしたいので、ログファイルには、 COPY e:\test1\社員番号.jpg e:\test2\社員番号.jpg  という具合にテーブル1にある社員分ログを出力すればいいのでしょうか? 長ったらしい文になってしまいましたが、回答よろしくおねがいいたします。

  • XP。Excelシートの写真を.jpg に戻したい。

    XP。Excelシートの写真を.jpg に戻したい。 デジカメで撮った写真をxx.jpg の形でMydocument に保存しています。この写真をコピーしてExcelのシートに貼り付け、トリミングして、保存しました。当然ファイル名は XX.xls になっています。そこで質問なのですが、この XX.xls をExcelシートから写真だけを取り出して .jpg の形にして『マイピクチャー』などに戻したいのですが、どうしたらいいですか? 操作手順を初心者向けに、省略することなく教えて下さい。お願いします。

  • エクセルのマクロであるフォルダ内にある全エクセルファイルのシート1!(

    エクセルのマクロであるフォルダ内にある全エクセルファイルのシート1!(A1:X365)の値を取得し、コピー元のエクセルファイル名のシートに貼付ける方法を教えて頂けないでしょうか?できればコピー元のエクセルファイルは開かずに実行させたいです。エクセルは2003を使っています。

  • エクセルでデータ抽出するには?

    まったくのエクセル初心者です。 エクセルで、シート1のデータの特定科目を抽出してシート2にコピーしたいのです。 シート1のデータは 5/1 消耗品    2500 5/3 水道光熱費  8000 5/5 消耗品     700 5/7 消耗品    1200 この中から消耗品と記入されている行をシート2に抽出したいのです。 マクロは全然わかりません。。簡単にできる方法は無いでしょうか?よろしくお願いします。

専門家に質問してみよう