[[20091113153030]] 『マクロでの画像挿入での位置』(いやまゆ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロでの画像挿入での位置』(いやまゆ)
以前の過去ログにもあったらゴメンなさい。
セルの中に画像をマイドキュメントから挿入できるよう
以下のマクロを入れたのですが、ちゃんと真ん中に
挿入する為には、何が足りないでしょうか??
OS XP エクセル2003

Sub PasteGazo()

Dim WDT, HGT, CTP, CLF, PWD, PHT, FName
On Error GoTo err

  WDT = Selection.Width
  HGT = Selection.Height
  CTP = Selection.Top
  CLF = Selection.Left

  FName = Application.GetOpenFilename
  ActiveSheet.Pictures.Insert(FName).Select
    Selection.ShapeRange.LockAspectRatio = msoTrue
    PWD = Selection.ShapeRange.Width
    PHT = Selection.ShapeRange.Height
  Select Case PHT / PWD
    Case Is >= HGT / WDT
      Selection.ShapeRange.Height = HGT
      Selection.ShapeRange.Left = CLF + (WDT - Selection.ShapeRange.Width) / 2
    Case Else
      Selection.ShapeRange.Width = WDT
      Selection.ShapeRange.Top = CTP + (HGT - Selection.ShapeRange.Height) / 2
  End Select
Exit Sub
err:
   MsgBox "画像が挿入されていません!", vbOKOnly, "エラー"

End Sub


 ちゃんと真ん中に挿入されるようになっていると思いますが
 どのような不具合で、どのようにしたいのでしょうか?
 (momo)

早速のお返事ありがとうございます。私が見る分には大丈夫なのですが、他の方(パソコンの環境不明)が使用すると、画像がセル内に収まらず、上にいったりするそうで、いちいち位置を合わせるのが面倒だと言われてしまって・・・。
(いやまゆ)

 Selectionの範囲内。という条件でのコードなので
 「最初に画像を納めたい範囲のセルを選択した状態で」マクロを実行する。
 という事が徹底されていないという事はありませんか?

 (momo)

  Selection.ShapeRange.Left = ...
 の次行に
  Selection.ShapeRange.Top = ...
 を、
  Selection.ShapeRange.Top = ...
 の次行に
  Selection.ShapeRange.Left = ...
 を追加すればいいように思います。どの値にすればいいかは分かりますよね。
 (kubo)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.