Excelへの一括画像貼り付け
- 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)
- オフィス系ソフト
- 回答数5
- ありがとう数7
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>次のように修正してマクロを実行したのですが、 >.ShapeRange.Width = ActiveCell.Resize(10).Width > >既存の1セルの横幅と同じサイズで画像が張り付けられました。 >なぜ横10セル分の横幅にならないのでしょうか? ヘルプからの抜粋ですが、Resizeプロパティの構文は 式.Resize(RowSize, ColumnSize) です。 ActiveCell.Resize(10).Width 上記は、RowSize(行数)を指定しています。 ColumnSize(列数)を省略した書き方になっています。 RowSize(行数)を省略し、ColumnSize(列数)を指定した書き方に直してください。 尚、省略した場合は元のサイズが適用されます。 あと上の方にある .ShapeRange.LockAspectRatio = msoTrue で、縦横比が固定されています。 従って、省略した方の画像サイズは、縦横比が適用され自動的に変更されます。
その他の回答 (4)
- xls88
- ベストアンサー率56% (669/1189)
.ShapeRange.Height = 200 あるいは .ShapeRange.Height = ActiveCell.Resize(25).Height といった感じになります。 サイズに応じて、貼り付け先セルを調整する必要が出てきます。 ActiveCell.Offset(2, 0).Activate
お礼
ご回答ありがとうございます。 教えてくださった点を修正して試してみました。 うまく貼り付けることができました。 ただ、さらに、試しに下記の部分を .ShapeRange.Height = ActiveCell.Resize(25).Height 次のように修正してマクロを実行したのですが、 .ShapeRange.Width = ActiveCell.Resize(10).Width 既存の1セルの横幅と同じサイズで画像が張り付けられました。 なぜ横10セル分の横幅にならないのでしょうか?
- xls88
- ベストアンサー率56% (669/1189)
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
お礼
アドバイスありがとうございます。 遅くなりましたが、試させていただきました。 教えてくださった点を修正することでエラーにならず、 また順番に並んでくれました。 確認ですが、セルのサイズに合わせることしかできない ものなのでしょうか? 例えば、画像の左上だけをセルに合わせて、 そのまま(もしくは任意)のサイズで画像をはりつけるのは難しいことなのでしょうか。
- misatoanna
- ベストアンサー率58% (528/896)
> 大量にある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)も 変更したほうがよいでしょう。
お礼
ありがとうございます。 参考にさせていただきます。 #実験してみて、結果を連絡します。
補足
実験させていただきました。 <状況> 教えてくださったコードをそもまま使いましたところ、 やはり同じ個所に画像が貼り付けられてしまい、 並んではくれませんでした。 また、「縦1列のみの場合」も試してみましたが、こちらは 「1:R = 10 * (i - 1) + 3」の次の行でエラーとなるようです。 (エラーになりデバッグ画面を開いたところ上記が示されました)
- xls88
- ベストアンサー率56% (669/1189)
.TopLeftCell = ActiveCell のところですが、 PictのTopとLeftプロパティを、ActiveCellのTopとLeftプロパティにしてみてください。
お礼
ありがとうございます。 参考にさせていただきます。
補足
その後、まだ調べ中ですが、変え方がいまいち解りません・・・。
関連するQ&A
- エクセルでコメント挿入した部分のコメント欄の枠の大きさを一括で変更したいのです。
エクセルでコメント挿入した部分のコメント欄の枠の大きさを一括で同じ大きさに変更したいのです。 だいたい画面で見て横20センチ縦5センチくらいにしたいのですがどうすればよいでしょうか?コメントの編集で一個ずつ左下の所を引っ張って大きくするのは大変なので…。このように変更したいコメント付きセルが100行くらい縦にならんでるのをまとめて変えたいのです。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=2114461 あとこちらでNO.6の方に一律でコメント欄の文字の大きさを変えるマクロを教えてもらったのですがこれも一緒にできるともっとよいのですが無理でしょうか? 宜しくお願いします。
- 締切済み
- オフィス系ソフト
- エクセルで画像のハイパーリンクを一括表示させる方法
エクセルに貼り付けた画像にハイパーリンクをしています。 過去の質問を調べ、セルの文字に張ったハイパーリンクの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番目の方の回答で分かったのですが、 すでに作ってしまったグラフまではフォント、サイズが変わりません。 グラフが大量にあるので、一括に変更したいです。 どなたか、分かる方、教えてください。
- ベストアンサー
- オフィス系ソフト
- ワードで複数の文字を一括・連続置換するマクロ
ワード(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でマクロを使用する方法をご回答願います。
- ベストアンサー
- オフィス系ソフト
お礼
ご回答ありがとうございます。 いろいろと教えてくださり感謝しております。