• ベストアンサー

エクセルに画像を挿入する

ご覧いただきありがとうございます。 2つ質問があるのですがよろしくお願いします。 環境はWin2000、Excel2000です。 質問1 画像(JPG、300k)をエクセルに貼り付ける段階で、大きさを指定できないでしょうか? (画像解像度、エクセル使用の指定があるため他のソフトを使用するといった方法がとれません。また、大量の写真を貼り付ける為、例えばエクセルに枠を作っておいてそこに貼り付けていくだけという作業をしたいのです。) 質問2 エクセルのツールバー (1)「挿入」→「図」→「ファイルから」→BMPの貼付 (2)「挿入」→「オブジェクト」→「ファイルから」→BMPの貼付 (1)と(2)はどう違うのでしょうか? たいした質問ではないと思うのですが困っています。 よろしくお願いします。

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

  • ベストアンサー
  • fmajin
  • ベストアンサー率61% (75/122)
回答No.1

■質問1  こんな方法はいかがでしょうか。  (1) あらかじめ[図形描画]ツールバーを使って、    望みの大きさの四角形を書いておく。    この際、四角形の枠線など、好みの状態に    しておいてください。    また、[Alt]キーを押しながら描画すると、    セルの枠線に合わせて位置や大きさを決めら    れるので、キレイにレイアウトできるように    なります。  (2) 四角形をダブルクリックして、[書式設定]    ダイアログを表示します。    [色と線]パネルの「塗りつぶしの色」の    [▼]ボタンをクリックして、「塗りつぶし    効果]を選択します。  (3) 表示されたダイアログの[図]パネルで、    目的の画像ファイルを指定しましょう。    [OK]ボタン等で閉じていくと、四角形の    大きさに合わせて、画像が縮小表示されて    いるはずです。 ■質問2  画像は通常、(1)の方法で挿入します。こちらのほうが、余計な手順もないですよね。  (2)の方法のオブジェクトというのは、作成元のアプリケーションの情報も付いた状態となります。  これらは、シート上に貼り付けた画像をダブルクリックしてみると、動作に違いが出てきます。(2)の図をダブルクリックすると、関連づけられたソフトの機能を使って、編集できるような状態になるはずです。

shack
質問者

お礼

早速のご返答ありがとうございました。 見事出来ました!! とても綺麗に出来るので役立ちそうです。 質問2の答もとても明確でわかりやすいです。 ありがとうございました。

その他の回答 (3)

回答No.4

大量の写真を一括してというと、やはりマクロ処理になってしまうと思います。 自分の遊び半分勉強半分で作ってみました。 処理の内容は、指定したディレクトリ内の画像を、エクセルに事前に作成してある オートシェイプの四角形に塗りつぶし手法で加工するものです。 四角形は、シートの左上から右下にかけて順に好みのサイズで作成しておきます。 以下を VBEditor の標準モジュールに貼り付けて実行します。 5行目(フォルダ名)の " " 内は、画像を保存してある実際のフォルダ名をフル パスで指定してください。 なお、そのフォルダには画像ファイルのみが保存されているという前提です。 Sub PasteGazo() Dim TP As Integer, LF As Integer, HG As Integer Dim FPath As String, FName As String Dim i As Integer, ii As Integer, NN As Integer Application.ScreenUpdating = False FPath = "C:\.....\.......\" ' ←(フォルダ名) NN = ActiveSheet.Shapes.Count '四角形を1から順にリネーム。 For ii = 1 To NN ActiveSheet.Shapes(ii).Select Selection.Name = "Rectangle " & ii Next ii '以降最終行まで、四角形に画像を加工する処理。 i = 0 FName = Dir$(FPath & "*.*") Do While FName <> "" i = i + 1 'これ以上対象四角形がない場合エラーになるので、エラー処理に行く。 On Error GoTo ER '矩形を画像で塗りつぶす。 ActiveSheet.Shapes("Rectangle " & i).Select Selection.ShapeRange.Fill.UserPicture FPath & FName '画像の左下にテキストボックスを作成し、ファイル名を書き込む。 TP = Selection.Top LF = Selection.Left HG = Selection.Height ActiveSheet.Shapes.AddTextbox(msoShapeRectangle, LF, TP + HG, 1#, 1#). _ Select With Selection .Characters.Text = FName .ShapeRange.Fill.Visible = msoFalse .ShapeRange.Line.Visible = msoFalse .AutoSize = True End With 'ファイル名をクリアする。(次のファイルを読み込む準備) FName = Dir$ Loop Range("A1").Select Application.ScreenUpdating = True End 'エラー処理(矩形が無くなったら、終了させる) ER: Range("A1").Select Application.ScreenUpdating = True End End Sub

shack
質問者

お礼

マクロはほとんど使ったことがないので、これを機会にちょっと勉強してみます。 とりあえず、こういう目的があればやりやすいですよね。 ありがとうございました。 明日から出張なんで、帰ってきたらさっそくチャレンジしてみます!!

  • anakujira
  • ベストアンサー率39% (50/127)
回答No.3

(1)回避策ですが とりあえず,元の大きさでどんどん貼り付けて,あとでまとめて縮小するのではだめですか? 「表示」-「ズーム」で縮小表示。 「表示」-「ツールバー」-「図形描画」の矢印ボタンをを押して図形を含む矩形を選択します。 あとは,どれかひとつの図形のサイズ変更すれば全部変更されます。

shack
質問者

お礼

そういえば図形描写の矢印は使ったことがありませんでした。画像やCADだったら良く使うのに、こういう範囲指定ができるコマンドがエクセルにあるとは気が付きませんでした。他でも役に立ちそうです。 ありがとうございました。

  • takkuni
  • ベストアンサー率24% (166/676)
回答No.2

私のやり方はこうです。 「挿入」→「図」→「ファイルから」取り込んだら、Wクリックして図の書式設定画面を出します。その中の「サイズ」タブから欲しい大きさの数値を入力します。その際、縦横比を固定と元サイズを基準にチェックを入れておけば画像が変形されません。

shack
質問者

お礼

ありがとうございます。 こちらは王道のやりかたでしょうか? とても役立つ答を頂いているのですが、大量の写真を貼り付ける場合はちょっと面倒かと… また、なにか簡単な方法があればよろしくお願いします!!

関連するQ&A

専門家に質問してみよう