推しミネラルウォーターはありますか?

お疲れ様です。

表題の件で質問がございます。
仕事の関係上、画像を挿入しリサイズ後、任意の場所に移動を行うということを数百枚単位で行わなければなりません。

従来は上記作業を手動で行っていたのですが、VBAを用いて業務を省略化できないかと考えました。
そこで、VBA教本及び各HPを参照しながら添付画像のようなインターフェースのユーザーフォームを作成し、任意フォルダから画像を読込みEXCELに保存するVBAを作成中です。しかし、どうしても③及び④に該当するVBAの記述方法がわからず困っています。

①画像を任意のフォルダから読み込む(画像の読込みボタンを押す)
②読み込んだ画像のタイトルをリストビューに表示していく。
③リストビュー上で選択した画像をイメージに表示する。
④必要な画像だけを選択し(チェックボックスを用いることを考えていますが、その他代替案がございましたらそれでOKです。)一度に画像をEXCELに保存する。なお、保存する場所・シートを指定するVBAは記述可能です。

大まかな質問で恐縮ですが、御回答お願いいたします。
もちろん参考HP、参考文献のご紹介のみでも大歓迎です。

「【EXCEL VBA】ユーザーファームを」の質問画像

A 回答 (2件)

> 後学として、VBAで行う方法も知りたいです。

御存知の方がいらっしゃれば御回答よろしくお願いいたします。


> ③リストビュー上で選択した画像をイメージに表示する。
Image1.Picture = LoadPicture(pathImageFile)
Image1.PictureSizeMode = fmPictureSizeModeZoom
※Image1はユーザーフォーム上のイメージオブジェクトです。


> ④必要な画像だけを選択し(チェックボックスを用いることを考えていますが、その他代替案がございましたらそれでOKです。)一度に画像をEXCELに保存する。

リストビューが使用できる環境でないので未確認ですが、リストビュー上の複数の項目を選択できるモードがあると思いますので、プロパティを確認してみてください。(選択操作は、CtrlキーやShiftキーを押しながらの項目クリック。エクスプローラ上で複数ファイルを選択する場合と同じです。)

選択した項目の処理については↓が参考になるかと
https://oshiete.goo.ne.jp/qa/800892.html
    • good
    • 0

こんにちは



>業務を省略化できないかと考えました。
具体的な作業内容がよくわからないので、あまり参考にならないかも知れませんが、勝手な推測を交えての回答です。

対象となる画像(多数)がまったくバラバラに点在するとは思えませんので、せいぜい複数のフォルダーなどにあるのではないかと推測します。

1)まずこれらから、シートに取り込む画像を選択する。(これが①~④だろうと推測しました。)
 windowsをお使いでしたら、わざわざマクロで行うよりもWindows エクスプローラーを利用したほうが簡単ではないかと想像します。
 選択対象を残すフォルダ(最初は空)を作成し、必要なものを集めます。(コピペでも移動でも可)
 Windows エクスプローラーの表示を「大アイコン」などにしておくことで、画像がサムネイル表示されると思います。
 これを利用すれば、「リスト」だの「画像表示」だの考える必要もないですし、操作もなじみのあるもので、手順も固定されないので、簡単なVBA上での操作よりははるかに操作性は宜しいものと思います。また、名称変更なども通常の操作で可能ですし。

2)上記操作で、一つのフォルダに読み込みたい画像を集めたら、VBAで一気に全部を貼りつける。
 これに関するVBAは、検索すれば参考になるものがたくさんあると思います。
 以下は適当に検索したもの(内容はよく見ていませんが・・・)
http://enajet.air-nifty.com/blog/2012/09/excel-v …
http://language-and-engineering.hatenablog.jp/en …
http://excel-ubara.com/excelvba5/EXCELVBA226.html

ほとんどVBAを利用しない方法の回答ですが、このような考え方(方法)で、現在より少しは省力化できるのではないでしょうか?
(・・・というか、ご提示の①~④を読んでも、これより省力化できるとは思えないのです)
    • good
    • 0
この回答へのお礼

fujillin様

御回答ありがとうございます。
お恥ずかしながら、VBAに固執するあまりWindowsエクスプローラーの使用を全く考慮していませんでした。

確かに、貼り付けたい画像を1個のフォルダにまとめるのは、わざわざVBAで行わなくてもさほど労力的に変わらないですよね。アドバイスありがとうございました。

なお、その他ご回答者の方へ
後学として、VBAで行う方法も知りたいです。御存知の方がいらっしゃれば御回答よろしくお願いいたします。

お礼日時:2016/03/15 15:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!