4

VB.Net を使用して Excel を自動化し、印刷しないように設定できる Excel ワークシートに複数行のテキストを配置しようとしています。これらの間には、印刷可能なレポートがあります。テキストボックス オブジェクトを追加し、印刷オブジェクト設定を false に設定すると、これを行うことができます。(他に方法があれば教えてください)

テキストボックスを追加するコードは次のとおりです。

ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 145.5, 227.25, 304.5, 21#)

しかし、ポジショニングはポイントです。特定のセルの上に配置し、セルに合わせてサイズを変更する方法が必要です。どのセルに配置するかがわかっている場合、どのセルに配置するかをどのように見つけることができますか?

4

2 に答える 2

9

セル名または位置がある場合は、次のことができます。

With ActiveSheet
  .Shapes.AddTextbox msoTextOrientationHorizontal, .Cells(3,2).Left, .Cells(3,2).Top, .Cells(3,2).Width, .Cells(3,2).Height
End With

これにより、セルB3にテキストボックスが追加されます。B3のサイズが変更されると、テキストボックスも変更されます。

于 2008-09-15T22:51:51.417 に答える
0

テキストボックスをコピーして貼り付けると、Excel は現在選択されているセルに新しいテキストボックスを配置します。したがって、VBA のコピー & ペースト コマンドを使用するだけで、これを非常に簡単に実現できます。これは、テキスト ボックス テンプレートを効果的に作成しているため、非常によく似たテキスト ボックスを多数使用する場合に特に役立ちます。

于 2008-09-16T19:58:23.323 に答える