| 
    
     |  | Abebobo さん、こんにちわ。 
 >その写真の原型の Weight / Width の値を ローカルで探しましたが 取得の仕方がわかりませんでした。
 
 シート上にある写真の情報をログにしてみました。
 
 Sub test()
 Dim ws(1 To 2) As Worksheet, sh As Shape
 '
 Set ws(1) = Application.ActiveSheet '表示しているシート
 Set ws(2) = Application.Workbooks.Add.Worksheets(1) 'ログ取りシート
 '
 ws(2).Range("A1:F1").Value = Array("名前", "位置", "幅", "高", "元幅", "元高")
 NN = 1
 For Each sh In ws(1).Shapes
 If sh.Type = msoPicture Then
 NN = NN + 1
 ws(2).Cells(NN, 1).Value = sh.Name
 ws(2).Cells(NN, 2).Value = sh.TopLeftCell.Address & ":" & sh.BottomRightCell.Address
 ws(2).Cells(NN, 3).Value = sh.Width
 ws(2).Cells(NN, 4).Value = sh.Height
 '元の大きさ(100%)でサイズ取得
 sh.ScaleHeight 1, msoTrue
 sh.ScaleWidth 1, msoTrue
 ws(2).Cells(NN, 5).Value = sh.Width
 ws(2).Cells(NN, 6).Value = sh.Height
 '縮小後のサイズに戻す
 sh.Width = ws(2).Cells(NN, 3).Value
 sh.Height = ws(2).Cells(NN, 4).Value
 End If
 Next
 'おわる
 Erase ws
 End Sub
 
 こんな感じです(動作確認 XL2003およびXL2007 & WinXP)。
 縮小率に関連するプロパティを見つけられなかったので、縮小を解除してサイズを取得しています。
 「元のサイズを基準にする」にチェックがついていない状態で加工されていれば偽装されちゃいますけどね(ダイアログでは原型のサイズで確認できます)。
 
 |  |