Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1105 / 13645 ツリー ←次へ | 前へ→

【76316】写真 縦横比 KIEV 14/10/30(木) 10:35 質問[未読]
【76319】Re:写真 縦横比 KIEV 14/10/30(木) 11:12 発言[未読]

【76316】写真 縦横比
質問  KIEV  - 14/10/30(木) 10:35 -

引用なし
パスワード
   結合セルの横幅に合わせて 写真を貼り付けようとしています
縦横比を維持して貼り付けるにはどのようにすればよいでしょうか?
現在以下の状態です。


Sub 写真を1枚貼付ける()

Dim PIC
ChDir "D:\ピクチャ" ' パス

PIC = Application.GetOpenFilename("画像ファイル " & _
"(*.emf;*.wmf;*.jpg;*.jpeg;*.jpe;*.png;*.bmp), " & _
"*.emf;*.wmf;*.jpg;*.jpeg;*.jpe;*.png;*.bmp", _
Title:="ファイル選択")
If PIC = False Then Exit Sub

With ActiveSheet.Pictures.Insert(PIC)
.Width = Selection.Width ' 画像の幅をアクティブセルにあわせる
'縦横比を維持する。
End With
End Sub

【76319】Re:写真 縦横比
発言  KIEV  - 14/10/30(木) 11:12 -

引用なし
パスワード
   いろいろと触っているうちに 目的の動作ができるようになりました。
内容についてはぼんやりとしか理解していません。
修正箇所等ありましたら教えてください。


Sub 写真貼付()
Dim PIC
Application.ScreenUpdating = False '描画OFF
ChDir "D:\ピクチャ" ' パス

PIC = Application.GetOpenFilename("画像ファイル " & _
"(*.emf;*.wmf;*.jpg;*.jpeg;*.jpe;*.png;*.bmp), " & _
"*.emf;*.wmf;*.jpg;*.jpeg;*.jpe;*.png;*.bmp", _
Title:="ファイル選択")
If PIC = False Then Exit Sub
Set PIC = ActiveSheet.Pictures.Insert(PIC)

With PIC
.Top = ActiveCell.Top '基準位置 上
.Left = ActiveCell.Left '基準位置 左
.Placement = xlMove 'セルに合わせて移動する。
.PrintObject = True 'オブジェクトを印刷
End With

With PIC.ShapeRange
.LockAspectRatio = msoTrue '縦横比を維持する
.Width = ActiveCell.MergeArea.Width ' 画像の幅をアクティブセルにあわせる
End With

Application.ScreenUpdating = True '描画ON
End Sub

1105 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free