0

描画キャンバスの場合、VBA 経由でテキスト ボックスのテキストにアクセスするのに本当に問題があります。

これと他の場所を検索すると、「TextFrame.TextRange」を使用してテキストにアクセスできるはずですが、失敗し、デバッグにデータが表示されません(フィードバックが10未満であるため、画像を投稿できません)

試してみてください: - 新しい Word 文書を作成します。 - 描画キャンバスを追加し、ダミー テキストを含むテキスト ボックスを内部に配置します。 - VBA 経由でアクセス/変更してみてください。

For Each shp In ActiveDocument.Shapes
    If shp.Type = msoCanvas Then

        For Each canvasitem In shp.CanvasItems
            If canvasitem.Type = msoTextBox Then

                ' NONE OF THESE WORK - WHAT AM I MISSING?
                'Debug.Print canvasitem.TextFrame.TextRange.Text
                'Debug.Print canvasitem.TextFrame.TextRange.Characters.Text

                'If canvasitem.TextFrame2.HasText = True Then _
                 '   Debug.Print canvasitem.TextFrame2.TextRange

            End If
        Next

    End If
Next
4

2 に答える 2

1

これは私にとってはうまくいくようです:

For Each shp In ActiveDocument.Shapes
    If shp.Type = msoCanvas Then

        For Each canvasitem In shp.CanvasItems
            If canvasitem.Type = msoTextBox Then
                Debug.Print canvasitem.TextFrame.TextRange.Text
            End If
        Next
    End If
Next
于 2015-07-28T16:37:13.070 に答える