クライアントにExcelマクロを有効にするように強制する

Excelでマクロを使用するには、ユーザーはマクロを有効にする必要があります。つまり、環境でマクロを実行するためのアクセス許可をExcelに付与する必要があります。マクロを有効にするには、ユーザーは数式バーの上にポップアップ表示されるセキュリティ警告の[コンテンツを有効にする]ボタンをクリックします。

クライアントにExcelマクロを有効にするように強制する

肝心なのは、世界中のすべての派手なマクロを書くことができるということですが、ユーザーがマクロを有効にしない限り、それらは実行されません。これは疑問を投げかけます。ユーザーにマクロを有効にするように強制できますか?答えはイエスです–少し注意が必要です。

アイデアは比較的単純です。たとえば、STARTという名前のシートを作成します。このシートには、マクロを有効にする必要があることを示す簡単な警告のみが含まれています。次に、そのSTARTシートを除く、ブック内のすべてのシートを非表示にします。最後に、ブックを開いたときにすべてのシートを再表示する単純なマクロを記述します。

クライアントにExcelマクロを有効にするように強制する

この時点で、ブックを開くと、Excelはユーザーにマクロを有効にするように求めます。表示されるのはスタートシートだけなので、ユーザーはそうすることを余儀なくされます。他のシートは非表示になります!

この手法を機能させるには、2つのマクロが必要です。1つのマクロは、ブックが閉じたときにSTARTシート以外のすべてを非表示にし、もう1つのマクロはブックが開いたときにSTARTシート以外のすべてを再表示します。

まず、ブックが閉じたときに発生する必要のあるアクションに取り組みます。:

キーボードのALT + F11を押して、Visual BasicEditorをアクティブにします

[プロジェクト]ウィンドウで、プロジェクト/ワークブックの名前を見つけ、その横にあるプラス記号をクリックして、すべてのシートを表示します。

ThisWorkbookをクリックします。

[イベント]ドロップダウンボックスで、BeforeCloseイベントを選択します。

クライアントにExcelマクロを有効にするように強制する

次のコードを入力または貼り付けます。

Private Sub Workbook_BeforeClose(Cancel As Boolean)
'ステップ1:変数を宣言する
  ワークシートとして薄暗い
'ステップ2:開始シートを再表示する
  Sheets( "START")。Visible = xlSheetVisible
'ステップ3:すべてのワークシートのループを開始します
  ThisWorkbook.Worksheetsの各wsについて
'ステップ4:各ワークシート名を確認する
  if ws.Name <> "START" Then
'ステップ5:シートを非表示にする
  ws.Visible = xlVeryHidden
  終了する場合
'ステップ6:次のワークシートにループする
  次のws
'ステップ7:ブックを保存する
  ActiveWorkbook.Save
エンドサブ

手順1では、wsというオブジェクトを宣言して、ループするワークシートごとにメモリコンテナを作成します。

手順2で、STARTシートが表示されていることを確認します。

手順3で、ループを開始し、このブック内のすべてのワークシートを評価することをExcelに通知します。

ステップ4では、STARTという名前を現在ループしているシートと比較するだけです。この手順により、次に来るアクションがSTARTシートを除くすべてのシートに確実に適用されます。

シート名が異なる場合は、手順5で、xlVeryHiddenプロパティを使用してシートを非表示にします。このプロパティは、シートを非表示にするだけでなく、ユーザーがユーザーインターフェイスを使用して手動でシートを再表示するのを防ぎます。

手順6で、ループバックして次のシートを取得します。

手順7では、すべてのシートが評価された後、マクロがブックを保存して終了します。

ここで、ブックを開いたときに発生する必要のあるすべてのアクションを処理するマクロを作成する必要があります。

ALT + F11を押して、Visual BasicEditorをアクティブにします。

[プロジェクト]ウィンドウで、プロジェクト/ワークブックの名前を見つけ、その横にあるプラス記号をクリックして、すべてのシートを表示します。

ThisWorkbookをクリックします。

[イベント]ドロップダウンボックスで、[開く]イベントを選択します。

クライアントにExcelマクロを有効にするように強制する

次のコードを入力または貼り付けます。

プライベートサブWorkbook_Open()
'ステップ1:変数を宣言する
  ワークシートとして薄暗い
'ステップ2:すべてのワークシートのループを開始します
  ThisWorkbook.Worksheetsの各wsについて
'ステップ3:すべてのワークシートを再表示する
  ws.Visible = xlSheetVisible
'ステップ4:次のワークシートにループする
  次のws
'ステップ5:スタートシートを非表示にする
  Sheets( "START")。Visible = xlVeryHidden
エンドサブ

手順1では、wsというオブジェクトを宣言して、ループするワークシートごとにメモリコンテナを作成します。

手順2で、ループを開始し、このブック内のすべてのワークシートを評価することをExcelに通知します。

手順3では、現在ループしているシートを再表示します。この手順では、各シートが表示されるときに、すべてのワークシートが効果的に再表示されます。

手順4で、ループバックして次のシートを取得します。

すべてのシートが表示されたら、手順5でSTARTシートを非表示にします。ここでも、xlVeryHiddenプロパティを使用して、ユーザーがユーザーインターフェイスを使用してシートを手動で再表示できないようにします。

両方のマクロが実装されると、ユーザーがマクロを有効にした場合にのみ機能するワークブックが作成されます。

Leave a Comment

SharePointOnlineドキュメントセットを使用してコンテンツを管理する

SharePointOnlineドキュメントセットを使用してコンテンツを管理する

Microsoft Office365製品スイートの1つであるSharePointOnlineでは、ドキュメントセットを使用すると、効率的にプロジェクトごとにドキュメントをグループ化し、管理できます。

SharePointでタグ付けする方法

SharePointでタグ付けする方法

SharePointでのタグ付けは、コンテンツの可視性と検索性を向上させるための重要な手法です。

Excelのソルバーエラーメッセージはどういう意味ですか?

Excelのソルバーエラーメッセージはどういう意味ですか?

Excelのソルバーが表示するエラーメッセージの意味を理解し、最適な解決策を見つける方法について詳しく解説します。

Excelの[ソルバーオプション]ダイアログボックスで[GRG非線形]タブを使用する方法

Excelの[ソルバーオプション]ダイアログボックスで[GRG非線形]タブを使用する方法

Excelの[GRG非線形]タブには、GRG非線形解法を使用しているときにソルバーが機能する方法を管理するためのボタンとボックスがあります。オプションを利用し、最適な解決策を得るためのステップを解説します。

SharePointをPowerBIと統合する方法

SharePointをPowerBIと統合する方法

SharePointをPower BIと統合する方法と、レポートをSharePointサイトに接続する方法をLuckyTemplates.comから学びます。

SharePointサイトを共有およびフォローする方法

SharePointサイトを共有およびフォローする方法

個人やグループがコミュニケーション、コラボレーション、共有、接続できるSharePointソーシャルネットワーキングツールの使用方法を学びます。

SharePoint列のデータ入力を検証する

SharePoint列のデータ入力を検証する

SharePoint列のデータ入力を検証する方法を学び、データの整合性を確保するための実践的なソリューションを提供します。

スマートシート 9.1.1

スマートシート 9.1.1

Smartsheet は、プロジェクトの管理、ワークフローの構築、チームとの共同作業を可能にする動的な作業プラットフォームです。

共有ポイント

共有ポイント

SharePoint は、さまざまなワークフロー アプリケーション、「リスト」データベース、その他の Web コンポーネント、およびビジネス グループの共同作業を制御するためのセキュリティ機能を使用する Web ベースのコラボレーション システムです。

パーペチュアルカレンダー 1.0.38/1.0.36

パーペチュアルカレンダー 1.0.38/1.0.36

Van Nien Calendar は、携帯電話でカレンダーを表示するアプリケーションです。携帯電話で太陰太陽の日付をすぐに確認できるため、重要な仕事を計画することができます。