Excelへの画像の挿入について

このQ&Aのポイント
  • Excelへの画像の挿入方法と効率化についての質問です。
  • 問題点を解消するためにVBAを使用して画像の一括挿入を行いたいです。
  • VBAの基礎知識や解説サイトを教えていただきたいです。
回答を見る
  • ベストアンサー

Excelへの画像の挿入について

仕事で、自社Webサイトで使用している全画像をExcelで管理することになりました。 最初は単純に「挿入>図>ファイルから」で1つ1つ入れていけばと考えていたのですが、いざ始めてみると大変効率が悪く、どうにか作業を単純化できないものかと考えています。 VBAでできるのではないか、と思ったのですが、VBAはこれまで使ったことがなく、できるのかできないのかすら分かりません。 最終的には、 ・ある画像フォルダに含まれる全画像から、ファイル名と画像データを取得する。 ・A列をファイル名、B列を画像とし、1行に1画像を配置する。 ・画像が隠れてしまわないよう、それぞれの行の高さを調整する。 ということがしたいのですが、VBAでどこまでできそうか、またVBAに関する解説サイトなどを教えていただけたらと思います。 (VBとVBAの違いも分かっていませんが、VBなら昔やったことがあります。) どうぞよろしくお願いいたします。

  • mone
  • お礼率70% (80/114)

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

正直言って何故 Excel なんかで画像を管理する必要があるのか理解出来ませんが、、、 サンプルマクロを書きましたので、参考になれば。 1.新規ブックを開き、ツール-マクロ-VisualBasicEditor(以下VBE)を開きます。 2.VBE画面で 挿入- 標準モジュール として出てきた画面に下記マクロをコピーして貼り付けます。 3.VBE画面を閉じます。 4.画像があるフォルダにこのブックを保存します。(必須) 5.ツール-マクロ-マクロで PictAdd を実行します。 例は マクロを含むブックと同じフォルダ内にある jpg ファイルを次々に挿入するものです。 挿入した画像をクリックすると大きくなったり、小さくなったりします。 テスト環境で試してみて下さい。 Sub PictAdd() Dim pict As Shape, r As Range With Application.FileSearch  .NewSearch  .LookIn = ThisWorkbook.Path  .SearchSubFolders = False  .Filename = "*.jpg"  If .Execute() > 0 Then   For i = 1 To .FoundFiles.Count    Set r = ActiveSheet.Range("B" & i)    Set pict = ActiveSheet.Shapes.AddPicture _       (.FoundFiles(i), msoTrue, msoFalse, _        r.Left, r.Top, r.Width, r.Height)       pict.OnAction = "PictClick"       r.Offset(0, -1).Value = Dir(.FoundFiles(i))   Next i  End If End With  Columns(1).EntireColumn.AutoFit End Sub Private Sub PictClick()  Dim myPict As Shape, myRange As Range  Set myPict = ActiveSheet.Shapes(Application.Caller)  Set myRange = myPict.TopLeftCell  With myPict    If (myPict.Height = myRange.Height) And _      (myPict.Width = myRange.Width) Then      .LockAspectRatio = msoTrue      .ScaleHeight 1#, True      .ScaleWidth 1#, True    Else      .LockAspectRatio = msoFalse      .Left = myRange.Left      .Top = myRange.Top      .Height = myRange.Height      .Width = myRange.Width    End If  End With End Sub このサンプルは 以前に Moug のメーリングリストで教わったコードを含んでいます。 http://www.moug.net/

mone
質問者

お礼

回答ありがとうございます。 おかげさまで作業を単純化することができました。 本当にありがとうございました。

関連するQ&A

  • Excel 2007で、挿入した画像も並べ替えの対象にしたいです。

    Excel 2007で、挿入した画像も並べ替えの対象にしたいです。 例えば、A列からC列までを使って、Aには商品名、Bには価格、Cにはその商品の画像を配置した場合のことです。 画像を挿入すると、セルの上にのっかっているような状態で、セルとは無関係になってしまいます。 このまま商品を価格順に「並べ替え」をしても、画像はセルの中に入っていないので、画像はついてきません。 Wordの表だと、「行内」にすればセルの中に画像が入り込んでくれるのですが、同様のことはExcelでできますでしょうか? 図のプロパティで「セルに合わせて移動する」にチェックを入れても、並べ替えできませんでした。

  • 画像挿入のVBAのコードについて教えてください

    ご存じの方がいらっしゃいましたら、教えていただけますと幸いです。 画像挿入を可能にするVBAが組まれたエクセルファイルと画像が、同レベルの階層に格納されているとします。添付の例をもちいると、B列「File」に格納した画像名がドロップダウンリストで表示され、選択するとA列「Image」にその画像が表示されるような、VBAのコードが知りたいです。 よろしくお願いいたします。

  • エクセルにて挿入する画像を任意のサイズに変更できないのでしょうか?

    エクセルで「挿入」→「図」→「ファイルから」と進んでマイピクチャから画像を挿入すると、エクセルには、元データが大きいのかかなり大きなサイズで挿入されます。普段は、図の書式設定でサイズ→倍率を調整して挿入される図のサイズを変えています。この変更作業が面倒で・・・。ファイルからエクセルに挿入するときに画像を任意のサイズに設定を変更するなんてことはできないのでしょうか?エクセル2003を現在使用しています。教えてください。

  • ワードVBAで画像を挿入

    ワードVBAのことですが、文書の中に図形のボックスが何個か並んでいます(2列で)。それぞれのボックスの中に、同じ画像をボタン1発で挿入するということを簡単なVBAで実現できるものでしょうか。 #同じ画像を全部のボックスに挿入したい。 #ワードのVBAの経験なしです。 #できるとしたら何行くらいの記述でできるものかという難易度も知りたい。 #とても簡単なサンプルコードも教えていただけると尚ありがたいです。

  • エクセルでの画像挿入

    エクセル(2003)で画像を挿入した際に その画像の右のセルにファイル名も入れたいのですが このようなマクロがあれば教えていただきたいです それと上記のとは別に画像にポインタを会わせた時に ファイル名をその場かもしくは どこかに表示させることは可能ですか? それと既に挿入してしまった画像のファイル名を知ることは可能ですか? あまりマクロには詳しくないので 分かりやすいとありがたいです

  • Excelの行挿入で

    Excelのシートにデータがつまっているのですが(これから新しく表を作るということではないということです。)、行の挿入をしたいのです。 このとき、行を選択して、右クリックで「挿入」を選べば挿入自体はできます。 しかし、 既にある表は、行が、A列とB列が結合されているのですが、 単に上記のように挿入すると、 A列B列が分かれている行が挿入されてしまいます。 新しく挿入された行のA列とB列を選択して、「セルの書式設定」の「配置」でセルを結合させてもいいのですが、 いちいちそうしなくても 挿入時点ですでに結合されているようにするにはどうすればよいですか。 (Excel2000)

  • エクセル97で画像の挿入が出来ない。

    エクセルのシートに画像を挿入したいのですが、「挿入」「図」「ファイルから」と進んで当該ファイルを指定しても「プレビューが表示できません」とメッセージがでて実行ができません。 以前は出来ていたのですが、このような状態になる要因は何でしょうか。よろしくお願いいたします。

  • Word,Excelに画像を挿入すると画像がぼやけてしまう

    皆様こんにちはm(__)m WORD2003やExvelで作成するファイルに、 挿入→図→ファイルから→ で通常のJPEG画像を挿入しようとすると、元々の大きさより、少し大きくなって挿入されてしまい、画像がぼやけてしまいます。 ズーム等で確認したのですが、ファイルのズームは100%になっています。ズームの問題ではなそさそうです。 そこで、挿入後の画像を右クリックして図の書式設定をクリックして画像のサイズを元のサイズの75%にして再表示すると、元々の画像と同じ大きさで表示されはするのですが・・。 しかし、できることならば、挿入した時点で元々の大きさのまま表示されるようにしたいです。 どうか、解決方法をお教え願えないでしょうかm(__)m 恐れ入ります。皆様よろしくお願いいたします。m(__)m

  • エクセル 画像挿入マクロで、ずれます

     エクセル2003 ・ 挿入ファイルは emf です。  毎回 かなりの頻度で 挿入→微調整(幅をかえたり位置をかえたり)の作業があり、非常に効率が悪くマクロで出来ないものかと思いトライしていますが、何故か実行すると、少しずれて挿入(もしかすると挿入後の調整部がずれている?)されてしまいます。 後、下記のようなエラーがでる時があります。 実行時エラー’-2147024809(80070057)’: 指定した名前のアイテムが見つかりませんでした。 マクロくんですぐなので、ファイルを消してもいません。  エラーがでたマクロでは毎回同じ場所でエラーになります。何が原因なのでしょうか?  マクロで、ずれない様に挿入・位置・幅調整はどのようにするのでしょうか? (マクロ編集で数値をかえて調整しようかとおもいましたがいまいち微調整がうまくできません)

  • ワードやエクセルに画像ファイルを挿入するとき、「図の挿入」から挿入した

    ワードやエクセルに画像ファイルを挿入するとき、「図の挿入」から挿入したい画像を保存しているフォルダから挿入しますよね。そして、この作業を繰り返す場合、「挿入」「図」「ファイルから」を選択すると、前回挿入したファイルのあるフォルダに行くはずなのですが、ある時から毎回C:\program files\microsoft Office\Office12に行くようになりました。そこから毎回挿入したい画像を保存しているフォルダまで行かなければいけないので面倒なことになっています。その原因と解決法を、どなたかご存知でしょうか

専門家に質問してみよう