Wordのテキストボックスは、何個までリンクできるんだろう?

Microsoft Wordでテキストボックスのリンクを使う。

Wordに古くからある機能なのですが、一体何処で使うんだろう?と思ってました。

『入学式や卒業式の式辞の蛇腹状に折り畳む用紙に印刷する』というシチュエーションで、ここで使わないでどこで使う?というような絶妙な技であることを思いつきました。後日、関連の記事をUPしようと思います。

こちらの記事では、テキストボックスはいくつまでLINKできるか実験してみた結果を書こうと思います。

テキストボックスを複数用意して、一つのテキストボックスに文章を流し込むことによって、一つ目のテキストボックスから溢れた文字を次のテキストボックスへ、と繋いで行くことが可能です。

いくつまで繋げられるのか実験してみますと、普通のやり方では32個で一杯になることが判明しました。

じゃぁ、33以上のテキストボックスをLINKしたい場合は無理なのかというと、裏技的なやり方があることを発見しました。実際に、249個のテキストボックスのLINKに成功しています。

やり方は、以下の通りです。

テキストボックスに文字を流し込む順番に番号を振って考えます。

先ず、最後の方の 32 個のテキストボックス(218番~249番)について、テキストボックスリンクを作成します。

VBA(マクロ)で書くとこんな感じ。

For i = 218 To 248
    ActiveDocument.Shapes(i).TextFrame.Next = ActiveDocument.Shapes(i + 1).TextFrame
Next

次に、218番 の 31 個前の 187番から 218番 までをリンクします。

For i = 187 To 217
    ActiveDocument.Shapes(i).TextFrame.Next = ActiveDocument.Shapes(i + 1).TextFrame
Next

以下同様、なので、サブルーチン化して少し整理すると以下の様になります。

Sub リンクコール()
    Call リンク実行(218, 249)
    Call リンク実行(187, 218)
    Call リンク実行(156, 187)
    Call リンク実行(125, 156)
    Call リンク実行(94, 125)
    Call リンク実行(63, 94)
    Call リンク実行(32, 63)
    Call リンク実行(1, 32)
End Sub

Sub リンク実行(istart, iend)
    Dim iend2 As Integer
    iend2 = iend - 1
    For i = istart To iend2
        ActiveDocument.Shapes(i).TextFrame.Next = ActiveDocument.Shapes(i + 1).TextFrame
    Next
End Sub

つまり、リンクが32個までしかできないのですが、後ろから 32 ずつリンクを繰り返して行けば1番目のテキストボックスまでたどり着くわけです。

一応できることは分かりましたが、Wordファイルが不安定になりますので、ここま大量のテキストボックスのリンクはお勧めいたしません。

ですが、通常の利用の範囲では結構上限を気にせず使えることは確認できました。

関連記事

式辞用紙に印刷を | アルゴリズムで楽しよう!

学校だったら入学式とか卒業式とか、そういう格式ばった場所にあるのが、あの、蛇腹に折り畳まれた白い紙。Wordで文章を作って、あの折り目に文字が来ないようにするには…

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA