Excelへの一括画像貼り付け

このQ&Aのポイント
  • Excelへの一括画像貼り付けについて、Windows XP Pro SP2とExcel 2007を使用していますが、マクロを試しても画像が正しく並んで貼り付けられない問題が発生しています。
  • 上記の方法以外でも、縦に順番に統一されたサイズで大量のjpg画像を一括でExcelに貼り付けるマクロを探しています。
  • ご存知の方がいらっしゃいましたら、教えていただけると助かります。よろしくお願いします。
回答を見る
  • ベストアンサー

Excelへの一括画像貼り付け

よろしくお願いします。 Windows XP Pro SP2 Excel 2007 大量にあるjpg画像をExcelへ一括で貼りつけたく、 Web上でマクロを探していました。 下記がヒットしたので、使用してみたのですが、 良回答となっているどちらの方法を試しても 同じ場所に貼り付けられるだけで ちゃんと並んでくれませんでした。 なぜでしょうか? http://oshiete1.goo.ne.jp/kotaeru.php3?q=1182506 また、上記マクロでなくとも、 大量にあるjpg画像をExcelへ ・縦に ・順番に ・統一されたサイズで ・一括で 貼りつけていくマクロをご存じでしたら教えてください。 どうぞよろしくお願いします。

  • nao-k
  • お礼率92% (695/752)

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.5

>次のように修正してマクロを実行したのですが、 >.ShapeRange.Width = ActiveCell.Resize(10).Width > >既存の1セルの横幅と同じサイズで画像が張り付けられました。 >なぜ横10セル分の横幅にならないのでしょうか? ヘルプからの抜粋ですが、Resizeプロパティの構文は 式.Resize(RowSize, ColumnSize) です。 ActiveCell.Resize(10).Width 上記は、RowSize(行数)を指定しています。 ColumnSize(列数)を省略した書き方になっています。 RowSize(行数)を省略し、ColumnSize(列数)を指定した書き方に直してください。 尚、省略した場合は元のサイズが適用されます。 あと上の方にある .ShapeRange.LockAspectRatio = msoTrue で、縦横比が固定されています。 従って、省略した方の画像サイズは、縦横比が適用され自動的に変更されます。

nao-k
質問者

お礼

ご回答ありがとうございます。 いろいろと教えてくださり感謝しております。

その他の回答 (4)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

.ShapeRange.Height = 200 あるいは .ShapeRange.Height = ActiveCell.Resize(25).Height といった感じになります。 サイズに応じて、貼り付け先セルを調整する必要が出てきます。 ActiveCell.Offset(2, 0).Activate

nao-k
質問者

お礼

ご回答ありがとうございます。 教えてくださった点を修正して試してみました。 うまく貼り付けることができました。 ただ、さらに、試しに下記の部分を .ShapeRange.Height = ActiveCell.Resize(25).Height 次のように修正してマクロを実行したのですが、 .ShapeRange.Width = ActiveCell.Resize(10).Width 既存の1セルの横幅と同じサイズで画像が張り付けられました。 なぜ横10セル分の横幅にならないのでしょうか?

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

With pict   '.TopLeftCell = ActiveCell '(1)ここを止めて(2)(3)にする   .Top = ActiveCell.Top '(2)   .Left = ActiveCell.Left '(3)   .ShapeRange.LockAspectRatio = msoTrue   'どちらかをコメントアウト   .ShapeRange.Height = ActiveCell.Height 'セルの高さリサイズ   '.ShapeRange.Width = ActiveCell.Width 'セルの幅にリサイズ   ActiveCell.Offset(0, 1) = fName(i) 'ファイル名書込み End With

nao-k
質問者

お礼

アドバイスありがとうございます。 遅くなりましたが、試させていただきました。 教えてくださった点を修正することでエラーにならず、 また順番に並んでくれました。 確認ですが、セルのサイズに合わせることしかできない ものなのでしょうか? 例えば、画像の左上だけをセルに合わせて、 そのまま(もしくは任意)のサイズで画像をはりつけるのは難しいことなのでしょうか。

回答No.2

> 大量にあるjpg画像をExcelへ > ・順番に(?) > ・統一されたサイズで > ・一括で すべての行高が18Pic、列幅が72Picのシートを前提に、指定した ディレクトリの画像を、横4列で貼り付けます。 シートのA1に対象フォルダのフルパスを入力してから実行します。 Sub Album1()  Dim FPath, FName, R, C, i, H, W  Application.ScreenUpdating = False  FPath = Range("A1").Value & "\"  FName = Dir$(FPath & "*.*")  Do While FName <> ""   i = i + 1   R = 10 * Int((i - 1) / 4) + 3  '※1   C = 3 * ((i - 1) Mod 4) + 1   '※2   ActiveSheet.Cells(R, C).Select   ActiveSheet.Pictures.Insert(FPath & FName).Select   H = Selection.Height   W = Selection.Width   Selection.Height = 120     '※3   Selection.Width = 120 * W / H  '※3   FName = Dir$  Loop  Application.ScreenUpdating = True End Sub 縦1列のみの場合は、 ※1:R = 10 * (i - 1) + 3 ※2:削除 です。 ※3は写真のサイズを指定しています。 サイズを変更する場合は、貼り付けるセル位置(※1、※2)も 変更したほうがよいでしょう。

nao-k
質問者

お礼

ありがとうございます。 参考にさせていただきます。 #実験してみて、結果を連絡します。

nao-k
質問者

補足

実験させていただきました。 <状況> 教えてくださったコードをそもまま使いましたところ、 やはり同じ個所に画像が貼り付けられてしまい、 並んではくれませんでした。 また、「縦1列のみの場合」も試してみましたが、こちらは 「1:R = 10 * (i - 1) + 3」の次の行でエラーとなるようです。 (エラーになりデバッグ画面を開いたところ上記が示されました)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

.TopLeftCell = ActiveCell のところですが、 PictのTopとLeftプロパティを、ActiveCellのTopとLeftプロパティにしてみてください。

nao-k
質問者

お礼

ありがとうございます。 参考にさせていただきます。

nao-k
質問者

補足

その後、まだ調べ中ですが、変え方がいまいち解りません・・・。

関連するQ&A

  • エクセルでコメント挿入した部分のコメント欄の枠の大きさを一括で変更したいのです。

    エクセルでコメント挿入した部分のコメント欄の枠の大きさを一括で同じ大きさに変更したいのです。 だいたい画面で見て横20センチ縦5センチくらいにしたいのですがどうすればよいでしょうか?コメントの編集で一個ずつ左下の所を引っ張って大きくするのは大変なので…。このように変更したいコメント付きセルが100行くらい縦にならんでるのをまとめて変えたいのです。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2114461 あとこちらでNO.6の方に一律でコメント欄の文字の大きさを変えるマクロを教えてもらったのですがこれも一緒にできるともっとよいのですが無理でしょうか? 宜しくお願いします。

  • WORDで一括置換

    ワードで複数の語句を一括したいですが、 過去質問を検索したところ、ズバリと思われる回答があったものの 私には具体的なやり方が理解できませんでした。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=994495 マクロを使ったことがない私にも理解できるように、 教えていただけないでしょうか。 よろしくお願いいたします。

  • エクセルで画像のハイパーリンクを一括表示させる方法

    エクセルに貼り付けた画像にハイパーリンクをしています。 過去の質問を調べ、セルの文字に張ったハイパーリンクのURLを一括で読み取る方法はわかったのですが、画像に張ったハイパーリンクを一括で読み取る方法はありますか? もし、ありましたら教えて下さい。 よろしくお願いします 参考にした過去の質問 http://oshiete1.goo.ne.jp/qa1545446.html

  • 画像一括変換

    imagemagickを使って画像を一括で大量にトリミングしたいです。 (exp_in_100001.jpgからexp_in_108188.jpgの8188枚) -cropを使えば1枚ずつだったらできるのですが 一括でのやり方がわかりません。

  • Excelに統一感をもって画像を貼り付ける方法

    いつもお世話になっております。 Excel2003を使用しております。 Excel のシート中に貼り付けてある画像を横や縦の並びを一括 して統一する方法はありますか? 今まで一つ一つ altキー を押しながら線にあわせていたのですが 操作対象が大量にあり過ぎて困っています。 ご存知のかたがいらっしゃいましたらアドバイスのほど宜しく お願い致します。

  • エクセル2003 グラフのフォントの一括変更

    エクセルで、すでに作ってしまった大量のグラフの、フォント、文字のサイズを一括で変更することは出来るでしょうか?? 標準の設定を変えるには、 http://oshiete1.goo.ne.jp/qa2678813.html ここの2番目の方の回答で分かったのですが、 すでに作ってしまったグラフまではフォント、サイズが変わりません。 グラフが大量にあるので、一括に変更したいです。 どなたか、分かる方、教えてください。

  • エクセルでマクロ?

    昨日もエクセルで質問しました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=603675 引き続き表1の数値をリンクさせて表2を作っています。 また分からないところが出てきたのでお願いします。 表1の数値が「0.987」の時、表2で「0.98小さい下付き7」と表示させたいのですが、何か良い方法はありますでしょうか? |0.98|小さい下付き7|のようにセルが分かれても構いません。 マクロとか詳しくないので助けていただけると嬉しいです。 よろしくお願いします。

  • ワードで複数の文字を一括・連続置換するマクロ

    ワード(Word)で複数の文字を一括・連続置換するマクロを作りたいのです。 次の回答を参考にしてマクロを作ってみました。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=994495 ところが、置換したい単語が100くらいになってきて扱いづらいので、 ワード(又はテキストやエクセルでも可)の置換文字のリストのファイルを参照して、同じように連続置換させたいのですが、どのような方法があるでしょうか? シェアウェアでも同様の機能をもつものがありますが、自由にカスタマイズできないので使えません。 (置換後の文字列に蛍光ペンをかけたいので)

  • [ No.964924 質問:EXCELで同じ内容の行を削除 ]について詳しく教えてください。

    エクセルで同じ内容のセルのある行を自動的に削除したく、No.964924の回答No.2を実行したいのですが、マクロがまったくわかりません。このマクロはどのように記録、実行するのでしょうか。 勉強不足で申し訳ありません。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=964924

  • 【マクロ】Excelでコンタクトシートを作成

    Excelを用いコンタクトシートのような配列で 画像を挿入(複数)させるマクロを作成したいのですが 「縦5枚×横3枚」のような配列にする時に 「横3枚」挿入させる方法がわかりません。 ご教授お願い申し上げます。 Q:下記のような配列で画像を挿入するには? -------------------------------------------    A   B   C   D   E   F 1     01.jpg    02.jpg    03.jpg 2 3     04.jpg    05.jpg    06.jpg 4 5     07.jpg    08.jpg    09.jpg 6 7     10.jpg    11.jpg    12.jpg 8 9     13.jpg    14.jpg    15.jpg 10        ---次ページ--- 11    16.jpg    17.jpg    18.jpg 12 13    19.jpg    20.jpg    21.jpg 14 15    22.jpg    23.jpg    24.jpg 16 17    25.jpg    26.jpg    27.jpg 18 19    28.jpg    29.jpg    30.jpg 20        ---次ページ--- 21    31.jpg    32.jpg    33.jpg 22 23    34.jpg    35.jpg    36.jpg 24 25    37.jpg    38.jpg    39.jpg ・ ・ ・ ・ ------------------------------------------- ※画像挿入のマクロに関してはこちら↓の質問を参考にしています。  質問番号:4676078  「エクセルで写真挿入 マクロ」  http://oshiete1.goo.ne.jp/qa4676078.html ※画像はJPG形式に限りません。(BMP、GIF等も) ※コンタクトシート作成ソフトは使いませんので  必ずExcelでマクロを使用する方法をご回答願います。

専門家に質問してみよう