[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『写真を貼り付けるマクロ』(いい)
ダブルクリックしたら、そのセルの中に写真がきれいに納まるようになるように作りましたが、、、 表示倍率100%表示の時はきちんと納まるように写真が貼りつきますがそれ以外だとずれてきます。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True
'===============画像選択
myF = Application.GetOpenFilename _
("jpg bmp tif png gif,*.jpg;*.bmp;*.tif;*.png;*.gif", , "画像の選択", , False)
If myF = False Then MsgBox "画像を選択してください(終了)" Exit Sub End If
'===============画像の貼り付け
With Range("A1").MergeArea
Set mySP = ActiveSheet.Shapes.AddPicture(Filename:=myF, _
LinkToFile:=msoFalse, SaveWithDocument:=msoTrue, _
Left:=.Left, Top:=.Top, Width:=.Width, Height:=.Height)
End With
With mySP .ScaleHeight 1, msoTrue .ScaleWidth 1, msoTrue .LockAspectRatio = msoFalse End With
'===============タテヨコの縮尺を保持
myHH = Target.Height / mySP.Height myWW = Target.Width / mySP.Width
If myHH > myWW Then mySP.Height = mySP.Height * myWW mySP.Width = Target.Width Else mySP.Height = Target.Height mySP.Width = mySP.Width * myHH End If
'===============中央へ調整
myHH2 = (Target.Height / 2) - (mySP.Height / 2) myWW2 = (Target.Width / 2) - (mySP.Width / 2) mySP.Top = Target.Top + myHH2 mySP.Left = Target.Left + myWW2
Set mySP = Nothing
End Sub
マクロ・VBAが分からないので、いろんな所から引用していて手に負えません。 今は「はじめてのVBAプログラミング」という本とインターネットで勉強していますが、 まず何から学べば良いのでしょうか? 合わせてご教授願います。 宜しくお願い致します。
回答が付かないようなので猿知恵を。
画面の表示倍率を100%にしてから画像を貼り付けて、 その後、元の表示倍率に戻すってのはうまくいかないですかね? (マクロの内容はまったく見ていません) (純丸)(o^-')b ※自分じゃ画像を扱ったことないけど、、。
画面の表示倍率を100%にしてから画像を貼り付けて、その後、元の表示倍率に戻すことは出来ます。
やはり不可能なんでしょうか・・・
ありがとうございます。
>画面の表示倍率を100%にしてから画像を貼り付けて、その後、元の表示倍率に戻すことは出来ます。
それをマクロでしたらどうなんでしょう?と ご提案したつもりですが。 (純丸)(o^-')b
発想がすばらしいですね!
やってみましたが、100%にして貼り付ける事は出来ますが
その後元の倍率に戻す方法が分かりません。
100%にする前にZoomの値を変数へ入れておき、貼り付け後に変数からZoomへ戻してはどうでしょうか? (独覚)
現在の表示倍率を変数に入れるという事でしょうか?
現在の表示倍率を探る構文?関数?が必要でしょうか?
勉強不足ですみません・・・
(いい)
表示倍率を100%にする時にはどうしていますか? その時に設定するプロパティにその時点での倍率が入っています。
ActiveWindow.Zoom = 100 で倍率を100%に。
変数 = ActiveWindow.Zoom で現在の倍率を変数に。
(独覚)
Dim AWZoom
AWZoom = ActiveWindow.Zoom
ActiveWindow.Zoom = 100
〜〜〜
貼り付けの構文
〜〜〜
ActiveWindow.Zoom = AWZoom
で成功しました!
このような事でしょうか?
ありがとうございます!
うまくいったようでよかったですね。 元々のマクロもすべて変数宣言しておきましょう。 (純丸)(o^-')b
変数宣言してみます!
ありがとうございました*
(いい)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.