アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもお世話になっております。
(図がなくて説明が悪かったと思いますので、訂正しました。)

Word2007を使用しています。

[挿入]⇒[図形]から「テキストボックス」を入力できると思います。
その中に、[開発]⇒[コントロール]などから
InlineShapeを配置できると思います。

そこで質問なのですが、
テキストボックス内のInlineShapeの情報を取得するには
どのようにしたら良いでしょうか?

Shapeの情報であれば以下のように取得できると思います。

Dim shape As Word.shape

For Each shape In ActiveDocument.Shapes
'必要に応じてプロパティの値を変えます。
MsgBox (shape.Width)
Next

同じようにInlineShapeの情報であれば、
以下のように取得できると思います。

Dim ishape As Word.InlineShape

For Each ishape In ActiveDocument.InlineShapes
'必要に応じてプロパティの値を変えます。
MsgBox (shape.Width)
Next

ここまでは分かったのですが、
Shape内に配置されているInlineShapeの情報を取得する方法が
どうしても分かりませんでした。

もしご存知でしたら、教えて頂けませんか?
ぜひよろしくお願い致します。

※図を付けます。
 図に載せたコマンドボタンの情報を取得したいと思っております。
 よろしくお願い致します。

「【Word2007】Shapeの中のIn」の質問画像

A 回答 (1件)

下記のようなことでどうでしょうか。



Dim ishp As Word.InlineShape

ActiveDocument.Shapes("Text Box 1").Select
For Each ishp In Selection.Range.InlineShapes
  MsgBox (ishp.Width)
Next

この回答への補足

ありがとうございました。
(補足にお礼を書いてすいません。)

全部選んでいけば、取得できそうですね。
xls88様はこれを言いたかったのでしょうか。
(下にプログラムを載せます。)

とても参考になりました。
あとは、始めに選んでいた場所を選びなおせれば、
解決できそうです。
この方法が簡単には分かっていませんが。。。
また質問させて頂くかもしれませんが、
そのときには、ぜひよろしくお願い致します。

Sub main()

Dim shape As Word.shape

Dim ishp As Word.InlineShape

For Each sh In ActiveDocument.Shapes
sh.Select
For Each ishp In Selection.Range.InlineShapes
MsgBox (ishp.Width)
Next
Next

End Sub

補足日時:2009/04/05 20:43
    • good
    • 0
この回答へのお礼

ありがとうございます。

ただ選択はせずに取得したいのです。
選択さえすれば取得できるというは私も分かったのですが、
選択しないとなると、なかなか難しそうでした。

ご回答ありがとうございました。

お礼日時:2009/04/05 16:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!