引用:
選択した画像のサイズを変更し、背面に一回り大きな四角形を作成、
位置を調整してグループ化
引用:
そもそも同じ属性ではない2つのオブジェクトを選択できるものでしょうか。
「複数選択が可能か否か」と「グループ化が可能か否か」は
別の問題です。
例えば、プレースホルダーは他の図形と共に複数選択することが可能ですが、
プレースホルダーと他の図形をグループ化することは出来ません。
引用:
図形を複数だったり、画像を複数というのは見つけられたのですが、
図形と画像を1枚づつ選択というのは見当たりませんでした。
(プレースホルダーではない)図形と画像を複数選択して
グループ化すること自体は可能です。
引用:
片方のオブジェクトを選択中、もう片方のオブジェクトのプロパティから
.Selectした場合、解除されてしまいます
そもそも、それらの図形をグループ化するのに
「図形の複数選択」という操作は必須ではありません。
(標準モジュール)
------------------------------------------------------------
Sub AddRectangleBehindPicture()
Const RectMargin As Single = 5
With Application.ActiveWindow.Selection
If .Type <> ppSelectionShapes Then
Exit Sub
End If
If .ShapeRange.Count > 1 Then
Exit Sub
End If
Dim shp1 As PowerPoint.Shape
Set shp1 = .ShapeRange.Item(1)
End With
With shp1
If .Type <> msoPicture Then
Set shp1 = Nothing
Exit Sub
End If
Dim sld As PowerPoint.Slide
Dim shp2 As PowerPoint.Shape
Set sld = .Parent
Set shp2 = sld.Shapes.AddShape(msoShapeRectangle, _
.Left - RectMargin, _
.Top - RectMargin, _
.Width + (RectMargin * 2), _
.Height + (RectMargin * 2))
End With
With shp2
.Line.Visible = msoFalse
.Fill.Visible = msoTrue
.Fill.ForeColor.RGB = RGB(255, 0, 0)
.ZOrder msoSendToBack
End With
Dim shprng As PowerPoint.ShapeRange
Dim shp3 As PowerPoint.Shape
Dim aryShapeNames As Variant
aryShapeNames =
Array(shp1.Name, shp2.Name)
Set shprng = sld
.Shapes.Range(aryShapeNames)
Set shp3 = shprng
.Group
shp3.Select
MsgBox "[" & sld.Name & "]の[" & shp1.Name & "]の背面に" & _
"[" & shp2.Name & "]を追加してグループ化しました。"
Set shprng = Nothing
Set shp1 = Nothing
Set shp2 = Nothing
Set shp3 = Nothing
Set sld = Nothing
End Sub
------------------------------------------------------------