- ベストアンサー
【Word2007】選んだ場所を選びなおす方法は?
- Word2007を使用していますが、特殊な方法を使ってInlineShapeの情報を取得したいと思っています。しかし、この方法を使うと選択されている場所が変更されてしまいます。そのため、処理後に選択箇所を元に戻したいのですが、方法がわかりません。どのようにすれば選択箇所を元に戻せるでしょうか?
- Word2007でInlineShapeの情報を取得する特殊な方法を教えていただきました。しかし、この方法を使うと選択されている場所が変更されてしまいます。そこで、処理後に選択箇所を元に戻す方法を知りたいです。どのようにすれば選択箇所を元に戻せるのでしょうか?
- Word2007を使用しています。以前教えていただいた特殊な方法を使ってInlineShapeの情報を取得していますが、この方法を使うと選択されている場所が変わってしまいます。そのため、処理後に選択箇所を元に戻す方法を教えていただきたいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Dim rng As Range Set rng = Selection.Range ・ ・ ・ rng.Select
その他の回答 (2)
- xls88
- ベストアンサー率56% (669/1189)
curpn = Selection.Information(wdActiveEndPageNumber) curln = Selection.Information(wdFirstCharacterLineNumber) curcn = Selection.Information(wdFirstCharacterColumnNumber) For Each shp In ActiveDocument.Shapes shp.Select For Each ishp In Selection.Range.InlineShapes MsgBox (ishp.Width) Next Next Selection.GoTo What:=wdGoToPage, Which:=wdGoToAbsolute, Count:=curpn Selection.GoTo What:=wdGoToLine, Which:=wdGoToRelative, Count:=curln - 1 Selection.MoveRight Unit:=wdCharacter, Count:=curcn - 1
お礼
ありがとうございます。 デザインモードで動かすことを想定していますので、 これですと、シェイプを選んでいると 正しく動きませんね。 また一番左上の行を選んでいるときにも 1行したにずれてしまうようです。 参考になりました。 ありがとうございます。
- xls88
- ベストアンサー率56% (669/1189)
Application.GoBack
お礼
ありがとうございます。 文書を編集していれば、カーソルの位置が戻るようですね。 編集していない場合は、カーソルの位置が戻らないようですので、 少し残念です。 Sub main()の直後でカーソルの位置を取得して、 End Subの直前でカーソルの位置を設定できれば良いのですが。。。 いろいろなケースが考えられるため、 難しいですよね。。。
お礼
ありがとうございます。 これが良さそうですね。 Rangeを取得するときには、Setしないといけないのですね。 勉強になりました。 ありがとうございました。