| 
    
     |  | myShapeBehindText2が異常終了したようで・・・ 御手数をお掛けさせてしまったようです。
 下記の通り修正しました。
 誠に申し訳ないです。
 
 「Dim myCmmdBar As CommandBars」を「Dim myCmmdBar As CommandBar」に、
 
 「Set myCtrl = myCmmBar.FindContro(ID:=1404)」 は脱字、
 「Set myCtrl = myCmmdBar.FindControl(ID:=1404)」に、
 
 「myCtrl.Controls(4).DescriptionText」は「MsgBox myCtrl.Controls(4).DescripitionText」に一本化。
 (これは処理内容確認のためで、異常がないなら、後でコメント行にして下さい。)
 
 「For i = 0 To ActiveDocument.InlineShapes.Count - 1」は
 「For i = ActiveDocument.InlineShapes.Count To 1 Step -1」に修正。
 この部分は、私の不覚!
 行内に配置された画像データは0からではなく1から始まるのでした。
 (配列と勘違いしました。)
 それと、画像を背面に移動する処理を、挿入した逆順に処理するようにしました。
 行内に配置された画像データを背面に移動させるということは、
 行内に配置された画像が削除されたのと同じ状態になるわけです。
 ・・・と言うことは、
 画像データは、挿入処理後に(おそらく挿入が済んだ後で)、
 時間的に挿入された順番に「InlineShape(1)・・・」のように自動で付番されるのですが、
 1から順に処理すると、画像データ(1)が消滅して、
 次の画像データ(2)が再び(1)から付番されることになり、
 処理が変になるのでした!
 
 「Selection.Collapse」を追加。これは画像データの選択の解除。
 
 修正したマクロは以下の通り。(陳謝!)
 
 Sub myShapeBehindText2()
 Dim myCmmdBar As CommandBar
 Dim myCtrl As CommandBarControl
 Dim i As Integer
 '
 Set myCmmdBar = ActiveDocument.CommandBars("Picture") ' [図]ツールバー
 Set myCtrl = myCmmdBar.FindControl(ID:=1404) ' [テキストの折り返し]ボタン
 '
 For i = ActiveDocument.InlineShapes.Count To 1 Step -1
 ActiveDocument.InlineShapes.Item(i).Select ' 図の選択
 myCtrl.Controls(4).Execute ' [テキストの折り返し]上から4番目[背面]
 MsgBox myCtrl.Controls(4).DescriptionText ' 処理の説明
 Next i
 '
 Selection.Collapse
 End Sub
 
 |  |