• ベストアンサー

エクセルVBAでの画像ファイル取得の順番

VBAについての質問です。 http://hp.vector.co.jp/authors/VA033788/kowaza.html#0158​ 上記(↑1)をベースに、こちら(↓2)で教えていただいて http://okwave.jp/qa4443857.html ファイルを作りました。 画像ファイル取得順についてなのですが、 ベースになっている(1)の時点で既に、 元ファイル名「1」「2」「3」「4」「5」を読み込むと 「5」「1」「2」「3」「4」の順、 元ファイル名「01」「03」「07」「10」「15」を読み込むと 「15」「01」「03」「07」「10」の順、 つまり一番最後に来て欲しい画像だけが一番前に、 その他は順番に読み込まれます。 (画像の制作日時・保存日時などはバラバラです。) 今のままでも、マクロを使わない時に比べて随分早く仕事が進みますので 満足はしているのですが、毎回毎回「一番最後の画像を一番前に持ってきて、その後の画像をずらしていく」という作業をしているため、 マクロでどうにかならないかな〜と思っています。 どなたかご教授下さい。宜しく御願い致します。

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

  • ベストアンサー
  • 98FAN
  • ベストアンサー率66% (4/6)
回答No.4

詳しい理由は判りませんが、 Shiftを押しながらや、Ctrlを押しながら複数選択すると 最後に選択(クリック)したファイルが読み込みの最初になります。 なので、方法としては 1.「01」「03」「07」「10」「15」と読み込みたい場合  「03」「07」「10」「15」「01」と選択すると現状のまま  修正なしで希望の順番になると思います。 2.マクロ内で一番初めに読み込んだファイルを最後に貼り付けるように修正する。  ※ただしこの場合は選択のときに、最後に貼り付けたいファイルを一番最後に選択する必要性が出ます。 3.シートに貼り付ける前に、読み込んだデータを名前順などでソートする。 4.読み込んだファイルをフォームなどに一旦表示して、そこで貼り付けの順番を決めるようにマクロを組む。 の4通りぐらいが思い浮かびますが・・・ 手間から言うと1.がもっとも簡単で、順番に2.→3.→4.と修正に手間がかかります。 特に4.はかなり手間ですね。

yn2008
質問者

お礼

回答ありがとうございます。 御礼が遅れましてすみません。 試してみたところ、1の方法で無事解決しました! 選択順が関係するとは思ってもいませんでした、 詳しく教えていただきましてありがとうございます。 いつか、もう少しマクロがわかるようになったら、 2などの方法も考えてみようと思います。 本当にありがとうございます!

その他の回答 (3)

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

一度セルにファイル名を転記しソート、ソート後の順で 画像を読込み、としてはいかがでしょう? ソートもマクロで出来ます。

yn2008
質問者

お礼

回答ありがとうございます。 御礼が遅れましてすみません。 選択順を変えるだけで、とりあえず理想通りの配置にいくことがわかりましたので 今回はまだ、今のままで使おうと思います。 でも回答ありがとうございます!

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

>「最背面へ移動」 今回は 「最前面へ移動」 ですね。失礼しました。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

画像上で右クリックすると、メニューの中に「順序」という のがあると思います。 「最背面へ移動」 これをマクロの自動記録してみてください。 リンク先は見てないですが、最後に挿入した画像を 最背面にすると、結果的に最初に挿入した画像が 最前面になると思います。

yn2008
質問者

補足

早々のレスをありがとうございます。 説明不足だったようで、すみません。 (画像は重なっている物ではなくて、前とか後ろというのは、順番のつもりでした。) (1)( LoadPictures3-指定レイアウトの位置に画像を貼り付ける、選択した画像を1ページに付き3枚貼り付ける例)では 元ファイル名「01」「03」「07」「10」「15」を読み込むと、 「15」→「図1」 「01」→「図2」 「03」→「図3」 「07」→「図4」 「10」→「図5」 とリネームされ、「図1」「図2」「図3」「図4」「図5」の順に配置されてしまうんです。 元ファイル名「01」「03」「07」「10」「15」の順にしたいので、 もし上のように書き換えられてしまうのであれば 「図2」「図3」「図4」「図5」「図1」の並びにしたいのです。 (もしくは、「01」→「図1」、「03」→「図2」、「07」→「図3」 「10」→「図4」、「15」→「図5」の順にリネームしたいということです。) …なので、よく考えたら題名が「画像ファイル取得の順番」ではなくて 「画像ファイルの名前のリネーム順」ですね。。すみません!(><)

関連するQ&A