0

私は仕事用のスプレッドシートを作成し、自分以外の誰もがドキュメントを編集できないようにシートを保護しようとしています。ドキュメントの全範囲を編集できるように設定しました。保護設定で、すべてのユーザーが自動フィルターを使用できることを示すボックスにチェックマークを付けました。

セキュリティを適用する前に自動フィルターを設定しているので、多くのフォーラムが示唆しているように、これは問題ではありません。ただし、私はExcel 2003を使用していますが、組織の大部分はOffice2000を使用しています。2つのシステム間に互換性がないことを考えずにはいられません。誰かアドバイスできますか?組織内のデフォルト設定では署名済みマクロのみを実行できるため、VBAマクロは実際にはオプションではありませんが、それでもエンドユーザーが検証する必要があります(ITの知識が少ないユーザーにとっては非常に面倒です)。

誰かがこれを機能させる方法を知っていますか?

4

3 に答える 3

0

組織は、自分自身とユーザーのためにExcel内のデフォルトのセキュリティ設定を変更することを許可していますか?

そうでない場合は、独自のマクロ署名を簡単に作成できます。PCまたはユーザー名に基づいて署名を作成できるExcelへのオプションのインストールコンポーネントだと思いますか?これは、完全なMicrosoft検証済み署名と同じ立場にはなりませんが、組織の設定によっては、すべてのマクロを受け入れることができる場合があります。

これは数年前にExcel2000で機能しましたが、それでも各ユーザーにセキュリティ設定を変更させる必要がありました。各ユーザーのセキュリティ設定のこの変更を自動化するマクロも作成したと思いますか?もし私が正確に覚えていれば。

于 2012-06-04T23:34:31.307 に答える
0

VBAなしでは不可能です。http://office.microsoft.com/en-us/excel-help/enable-autofilter-functionality-for-a-protected-worksheet-HA001098270.aspxを参照してください

デフォルトでは、スプレッドシートの一部またはすべてを保護すると、Excelのオートフィルター機能は使用できなくなります。Microsoft Office Excel2003またはExcel2002を使用している場合は、その機能を手動で復元できます。Excel 2000を使用する場合は、数行のMicrosoftVisualBasic®forApplications(VBA)コードを使用する必要があります。

VBAコードを使用してワークシートを保護し、Excel2000のオートフィルター機能を有効にします

ここに示すサンプルコードは、ワークシート(ワークブックではない)を保護し、そのワークシートのオートフィルター機能を有効にします。このコードはExcel2000でのみ機能します。この特定のサンプルは、保護されたワークシートを含むブックを開くと自動的に実行されます。コードには、ワークシートの保護を解除するために使用するパスワードも含まれています。

まだ行っていない場合は、Excel 2000を起動し、目的のブックを開いて、保護するワークシートの名前をメモします。[ツール]メニューで、[マクロ]をポイントし、[VisualBasicEditor]をクリックします。

プロジェクトエクスプローラーで、ThisWorkbookをダブルクリックします。

新しい空白のコードモジュールがコードウィンドウに開きます。

次のサンプルコードをコピーして、コードウィンドウに貼り付けます。

Private Sub Workbook_Open()
     Sheet1.Protect password:="test", DrawingObjects:=True, _
         contents:=True, Scenarios:=True, _
         userinterfaceonly:=True
     Sheet1.EnableAutoFilter = True End Sub
于 2011-10-03T14:53:39.800 に答える
0

これは現在解決されています。私たちは皆、Office2010に取り組んでいます。

于 2012-06-16T22:08:21.790 に答える