|
分類:[VB.NET/VB2005 以降]
Excelのセルの中に、画像ファイル(撮影された写真)のサイズを挿入するときに、セルのサイズに合わせて画像を表示させたいと考え、インターネット上でVBの下記のマクロを探してみました。
セルをダブルクリックすると、画像ファイルの読み出しが行なわれるのですが、セルのサイズにピッタリと合わず、
「列」にわずかに隙間が空いてしまいます・・・。
セルのサイズに合わせる為にはどうすればよいでしょうか?
もう一つ質問させていただきたいのですが、一部の画像は読み出しだ際に、縦にして自動的に表示させたいです。
(これまではExcelの「図の書式設定」で-90度と手入力していました)
何卒宜しくお願い致します。
Excel2003
Visual Basic 6.5
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, _
Cancel As Boolean)
Dim myPic
Dim myRange As Range '画像を配置するセル範囲
Dim rX As Double, rY As Double
myPic = Application.GetOpenFilename("画像ファイル,*.jpg;*.jpeg;*.gif;*.tif")
If VarType(myPic) = vbBoolean Then Exit Sub
Set myRange = Target 'このセル範囲に収まるように画像を縮小する
Application.ScreenUpdating = False
With ActiveSheet.Pictures.Insert(myPic).ShapeRange
rX = myRange.Width / .Width
rY = myRange.Height / .Height
If rX > rY Then
.Height = .Height * rY
Else
.Width = .Width * rX
End If
.Left = .Left + (myRange.Width - .Width) / 2 '写真を横方向の中央に配置
.Top = .Top + (myRange.Height - .Height) / 2 '写真を縦方向に中央に配置
End With
Application.ScreenUpdating = True
Cancel = True
End Sub
投稿日時 - 2013-02-16 16:40:26
|