0

Micrososft Excel (重要な場合は 2007) と相互運用する小さなアプリを構築しようとしています。アプリを起動して Excel のインスタンスに接続し、(プログラムによって) 1 つまたは複数の図形をシートに配置します。

ユーザーがこれらの形状を移動および/またはサイズ変更することを禁止する必要があります。シートを保護することはできますが、ユーザーがセルの内容を編集したり、行や列のサイズを変更したりできるようにする必要があります。

これを達成する方法はありますか?

少なくとも禁止できない場合、図形の移動/サイズ変更イベントを検出し、ドラッグの最後にプログラムで元に戻すことができますか?

4

1 に答える 1

2

セルの内容をロックせずに実際にシートを保護できます。また、ロックが解除されていることを示すためにセルのプロパティを変更する必要もありません。

以前に相互運用機能を使用したことはありませんが、VBA のコードは次のとおりです。これにより、内容を変更したり、行と列を調整したりできますが、形状の操作はできません。これはパラメーターを持つワークシートの Protect メソッドにすぎないため、あなたまたは他の誰かがこれを簡単に翻訳できると確信しています。

Worksheet.Protect DrawingObjects:=True, Contents:=False, AllowFormattingColumns:=True, _
    AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows :=True
于 2012-10-04T20:12:27.247 に答える