[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『画像 一括トリミング』(がんばる事務員)
下記の過去ログと同様のマクロを作成したいのですが、
過去に質問した方は自己解決できたみたいで、、
私もユーザフォーにに挑戦したのですが、
下記のマクロには最初から上下左右の数値が入っている為、ボックスへどうやって連携させたらよいか分かりませんでした。。
実行を押したらユーザフォームが出てきて
上下右左を入力して実行したら 画像がトリミングされるというようなマクロを作りたいです。
お力をお貸しください。
『ボックスを出して、値を反映させたい』(すう)
当方初心者です。
ネットから教えてもらい、反映させることはできますが、自分で入力したりできません。
複数画像の一括トリミングについてですが、
Sub 画像トリミング
With Selection
.ShapeRange.LockAspectRatio = True
.ShapeRange.PictureFormat.CropTop = 100#
.ShapeRange.PictureFormat.CropBottom = 100# .ShapeRange.PictureFormat.CropRight = 150# .ShapeRange.PictureFormat.CropLeft = 150# .ShapeRange.LockAspectRatio = msoFalse
End With
End Sub
これでようやく2016でも複数画像一括でトリミングができるようになりました。
今までは2007でセルに張り付けた複数画像の上下左右を一括でトリミングしていたのですが、2016に上下左右無くて困っていて、いまだに2007を使い続けていました。
ようやくF5のオブジェクト選択からの処理で一括できたのですが、
この100# の部分を 実行するときビョコっと入力するボックスが出て、数値をそれぞれ入力できるようにしたいのですが、わかりません。
お力をお貸しください。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
< 使用 Excel:Excel2010、使用 OS:Windows7 >
そして、判らないのは何処でしょう? ユーザーフォームの起動の仕方ですか? テキストボックスの配置ですか? 実行するコードは元質問のままで良いから、判りますよね?
変えるのは、4つの値を入力するために4つのテキストボックスを貼っておき、固定値の代わりに TextBox1.Text のように、入力した値を代入するところだけかと思います。
(???) 2018/09/10(月) 16:49
ご回答ありがとうございます。
マクロ初心者で手さぐりでやっている所なのですが、
分からない部分は、上下左右の数値が入っている場所へ、ボックスへどうやって連携させたらよいか分かりませんでした。。
>変えるのは、4つの値を入力するために4つのテキストボックスを貼っておき、固定値の代わりに TextBox1.Text のように、入力した値を代入するところだけかと思います。
下記のようにすればOKということでしょうか?
.ShapeRange.PictureFormat.CropBottom = 100#
↓
.ShapeRange.PictureFormat.CropBottom = TextBox1.Text
(がんばる事務員) 2018/09/11(火) 09:34
元は標準モジュールにでも書いてあったと思いますが、ユーザーフォームを表示したのだから、ユーザーフォーム上のボタンを押すと実行、のように変えているはず。 現在はどこにどんなコードを書いて、実行するとどうなっているのでしょう?
例えば、シートにActiveXのボタンを貼っておき、押すとフォーム表示する例。
【シートモジュール】 Private Sub CommandButton1_Click() ActiveSheet.Shapes.Range(Array("Picture 1", "Picture 2")).Select UserForm1.Show vbModal End Sub
【UserForm1】 Private Sub UserForm_Initialize() TextBox1.Text = "100" TextBox2.Text = "100" TextBox3.Text = "150" TextBox4.Text = "150" End Sub
Private Sub CommandButton1_Click() With Selection .ShapeRange.LockAspectRatio = True .ShapeRange.PictureFormat.CropTop = TextBox1.Text .ShapeRange.PictureFormat.CropBottom = TextBox2.Text .ShapeRange.PictureFormat.CropRight = TextBox3.Text .ShapeRange.PictureFormat.CropLeft = TextBox4.Text .ShapeRange.LockAspectRatio = msoFalse End With End Sub (???) 2018/09/11(火) 10:44
ご返信おそくなってすみません。
「100#」のところを「TextBox1.Text 」に変更したら
思い通りにうごきました!
大変たすかりました!
(がんばる事務員) 2018/09/13(木) 14:22
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.