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

Wordのテキストボックスの位置の基準と表の関係
Wordのマクロで、あるページにあるテキストボックスを次のページの同じ位置に同じ大きさのテキストボックスを作成するものを作りました。

テキストボックスを選択した後、Top, Left,Width, Heightの各値を保存した後、
次のページに移動して(Selection.GoTo What:=wdGoToPage, Which:=wdGoToNext)、
テキストボックスを作成し、保存した値を代入します。
(ActiveDocument.Shapes.AddTextbox(msoTextOrientationHorizontal, L, T, W, H).Select)

これでうまく言ったのですが、時々テキストボックスを新たに作るページに、表(ページ幅程度の大きな表)が入っていると、変なところに、テキストボックスが作られてしまいます。

原因を調べてみると、表がある場所に、テキストボックスが重なっているときには、テキストボックスの位置を表す基準が変わってしまうようです。

たとえば、テキストボックスの位置を「詳細設定」の「配置」で「基準」を「ページ」にし、「右方向からの距離」「下方向の距離」を両方とも「0」にすると、ページの左上ぎりぎりのところに、テキストボックスが移動しますが、
ある表の上にテクストボックスを移動させてから、同じように「基準」を「ページ」にし、「右方向からの距離」「下方向の距離」を両方とも「0」にすると、テキストボックスは表の中で動くようです。
表とかぶっているときは位置の基準となるものが変わるようです。
この問題は「アンカー」の位置と関係しているのかもしれないと思っていますが、確証はありません。
表がある場合でも、ない場合でも同じ基準でテキストボックスの位置を指定したいのですが、どのようにしたらいいでしょうか。

A 回答 (1件)

下敷きになったテキストボックスに,テキストボックスの書式設定のレイアウトの詳細設定で「オーバーラップする」のチェックが外れていて,重なってきたテキストボックスを弾いているような事かもしれません?


書式設定を確認してみてください。
またご自分がマクロになったつもりで,マクロがテキストボックスを描こうとして失敗した位置に,手動でテキストボックスを描画してみると何か挙動が掴めるかもしれません

でも「変なところ」というのが,具体的に一体どんな挙動を示しているのかにもよりますね。

この回答への補足

まだ、表とテキストボックスの位置関係の問題は解決していません。
仕方がないので、表を複数テキストボックスをグループすることで処理しています。

補足日時:2010/06/21 10:37
    • good
    • 0
この回答へのお礼

お回答ありがとうございます。
「オーバーラップする」のチェックは外れていませんでした。
自分で実験してみると、表の上にテキストボックスを置いて、ページ基準で「右方向」「下方向」の距離を0と0にした場合、アンカーのあるセルの右隣りのセルの左上の角を基準にして0と0の位置にテキストボックスが移動します。つまりアンカーのあるセルの右隣のセルの左上の角とテキストボックスの左上の角がぴったり重なるということです。
ページの左上を位置の基準にするにはどうしたらいいのか思案中です。

お礼日時:2010/05/23 22:32

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