1

要件に応じて数枚のシートがあるワークブックを持っています。このワークブックでは、マクロを使用し、特定のセルと列をロックするために、保護解除と保護のオプションを使用しました。私のマシンではすべて正常に動作しますが、SharedWorkBookとして作成すると、特にThisWorkBook.Sheets( "PSE")。 UnprotectおよびThisWorkBook.Sheets( "PSE")。Protectステートメントでエラーが発生します。その代わりに、ThisWorkBook.Sheets( "PSE")。 UnprotectSharingとThisWorkBook.Sheets( "PSE")。ProtectSharingを使用しました。今でも私はそれらの行でエラーが発生しています。


Sub SheetHider()
ThisWorkbook.Sheets("SheetA").UnprotectSharing
Cuser = ThisWorkbook.Sheets("SheetA").Range("A2").Value

エラーは
ランタイムエラー「438」です。オブジェクトはこのプロパティまたはメソッドをサポートしていません。

私の要件: 1)UnprotectステートメントとProtectステートメントを使用する必要があるように、Macros、Lockingプロパティを使用する必要があります。これらは、SharedWorkBookとして作成するときに機能するはずです。
私はこれを1週間多くのサイトで検索してきました。少なくとも、これを行うためのいくつかの選択肢を教えてください。
どんな助けでも大歓迎です。ありがとう

4

2 に答える 2

5

UnprotectSharing両方ともオブジェクトProtectSharingに属していWorkbookます。だからあなたはあなたがしようとしていることをすることはできません。

実行できますがThisWorkbook.UnprotectSharingThisWorkbook.ProtectSharingこれは共有ワークブックの設定を保護して、パスワードなしで削除できないようにするための設計にすぎません。

次に、ブックが共有されている場合、シートの保護を解除したり保護したりすることはできません。ブックの共有を解除し、シートの保護を解除してから、ブックを再度共有する必要があります。これはあまり実用的ではありません。

于 2013-01-11T07:16:21.547 に答える
0

共有ブックを保護する前にシートを保護する必要があります。保護解除は逆の順序で行われます。

于 2013-01-11T07:02:50.453 に答える