0

奇数ページと偶数ページがミラー化された Word 2010 の .docx ファイルに多数 (150?) のコールアウト (余白に単純なテキスト ボックス、境界線なし) を追加した後、いくつかのテキストを調整する必要がありました。これにより、ページを削除するのに十分なほどドキュメントが短くなったため、調整後の奇数ページはすべて偶数ページになり、偶数ページは奇数ページになりました。テキストボックスは移動せず、すべて紙の端から落ちてしまいました。紙の境界外のテキストがドキュメントに表示されていないため、すべてを見つけることさえ困難であり、移動することはできません。反対側のマージンの正しい位置に。さらに、テキストを再度調整する必要があり、問題が再発する可能性があります。

VBA を使用して自動化された方法を探しています (私は熟練したプログラマーですが、明らかにランクの初心者です)、「既存のすべてのテキスト ボックスを広い余白の中央に配置し、幅を一定にする」というマクロを記録します。 ." 何かのようなもの、

テキスト ボックスとして、奇数ページの場合、テキスト ボックスの左端をページの左端から 0.5 インチにします。偶数ページの場合、テキスト ボックスの左端を 0.5 インチにします。右マージン + 0.5". 私の身長は一貫している必要があり、私の身長は以前の高さを維持できます。

Top と Width の値を表す単位、奇数ページか偶数ページかを判断する方法、およびすべてのテキスト ボックスを見つける方法を知る必要があります。

誰でも助けることができますか?

4

1 に答える 1

1
Sub AdjustTextBoxes()

Dim myTextBox As Shape
Dim PageNumber As Integer

For Each myTextBox In ActiveDocument.Shapes
    If myTextBox.Type = msoTextBox Then
        myTextBox.Select
        PageNumber = Selection.Information(wdActiveEndPageNumber)
        'Mod returns the remainder (rounded up) of the division.
        'No remainder is even. Any remainder is an odd page.
        If PageNumber Mod 2 = 1 Then
            With myTextBox 'Odd numbered pages
                .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage 
                .Left = InchesToPoints(0.5)
            End With
        Else
            'Because wdRelativeHorizontalPositonPage measures from the left
            'edge of the page the positioning for text boxes on even pages
            'is not based on the distance from the right margin.
            'So below .Left = 8.5" (page width) - (1" (textbox with) + .5" (distance
            'from the right edge of the page). The measurement for .left below
            'will need to be altered based on the position from the right edge
            'of the page and the width of your text boxes and pages.
            With myTextBox 'Even numbered pages
                .RelativeHorizontalPosition = wdRelativeHorizontalPositionPage
                .Left = InchesToPoints(7)
            End With
        End If
    End If
Next

End Sub
于 2013-01-27T06:39:04.403 に答える