[[20210921151013]] 『取り込んだ画像をトリミング状態に』(ナス) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『取り込んだ画像をトリミング状態に』(ナス)

初めまして、VBAについて質問させてください。

Excelに画像を取り込んだ後、上部バーの「図の形式」にある「トリミング」
を押した状態(トリミング自体は手動で行いたい)にする方法があれば教えて欲しいです。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 ActiveSheet.Pictures.Insert("ほにゃらら.jpg").Select
 Application.CommandBars.ExecuteMso "PictureCrop"
(´・ω・`) 2021/09/21(火) 15:31

>> (´・ω・`)様

頂いた式を使用させていただいたのですが、選択状態になるだけで、トリミング状態には
なりませんでした。
原因が分かれば教えていただきたいです。
(ナス) 2021/09/22(水) 10:52


 2010だからでしょうか?
 2013で動作確認しています。
 でも idMsoは変わってないと思うんですよね。
 https://docs.microsoft.com/en-us/openspecs/office_standards/ms-customui/bb5bb594-ec8c-45f6-8424-f98e8308b25a

 ちなみに、どうやって実行してますか?
(´・ω・`) 2021/09/22(水) 11:36

横から失礼。
Excel2010、Win7で実行してみました。
トリミング状態というんですか?
隅と辺に太線のようなものが表れますよ。

(γ) 2021/09/22(水) 12:04


>> (´・ω・`)様

式全体はこのようになります。

Sub 画像取り込みとトリミング()

Dim PicFile
PicFile = Application.GetOpenFilename("画像ファイル " & "(*.tif), *.tif", Title:="ファイル選択")
If PicFile = False Then Exit Sub
With ActiveSheet.Pictures.Insert(PicFile)
.CopyPicture
.Delete
End With
Range("A1").Select
ActiveSheet.Paste

ActiveSheet.Shapes(4).Select
Application.CommandBars.ExecuteMso "PictureCrop"

End Sub

元画像を消した後、対象の画像をトリミング状態にしたいため、最後に頂いた2行を少し改変したものを追加させていただいきました。
実行はマクロボタンを押しています。

>>γ様

ということは私の式のどこかに原因があるということでしょうか。
もし原因が分かれば教えていただきたいです。
(ナス) 2021/09/22(水) 12:12


 もし、フォームコントロールのボタンで実行しているようであればActiveXのボタンで実行するようにしてみてはどうか?
 EXCEL2016ではそれでトリミング状態になった。
 フォームコントロールの方ではマクロでトリミング状態になっても解除されてしまうようだ。
(ねむねむ) 2021/09/22(水) 12:23

いや、私の検証結果をお伝えしただけです。

ActiveSheet.Shapes(4)というのは、
その対象となっている画像であることは間違いないですか?
ステップ実行してみては?

(γ) 2021/09/22(水) 12:33


 すでに書き込みがあるように フォームコントロールのボタンから実行すると
 一端トリミング状態になったあと、プロシジャから抜けるとトリミングの状態が解除されるようです
 これに対する対応策はちょっと思いつきません
 私もActiveXコントロール使うのがいいと思います。

 ActiveSheet.Shapes(4).Select
 は不要だと思います。
 Pasteした直後はSelectされているので。
(´・ω・`) 2021/09/22(水) 12:46

>>ねむねむ様
>>γ様
>>(´・ω・`)様

ご教授ありがとうございました。

ActiveXコントロールは使ったことがないので、いろいろ調べてみようとおもいます。

(ナス) 2021/09/22(水) 15:56


>ちなみに、どうやって実行してますか?
この件についての返信は無視ですか。
(ん) 2021/09/22(水) 16:23

 >実行はマクロボタンを押しています。
 これが回答なのでは?
 実際にはマクロボタンに該当するものが2種類あるが状況からフォームボタンだと。
(ねむねむ) 2021/09/22(水) 16:30

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.