web-dev-qa-db-ja.com

特定のExcelファイルのマクロを有効にする

(方法)oneExcel(2007)ファイルでマクロを有効にできますか?

トラストセンターでマクロセキュリティを無効にすると、すべてのスプレッドシートでマクロが許可されます。 「通知付きのすべてのマクロを無効にする」に設定できますが、Excelはファイル内のマクロを自動的にブロックし、セキュリティ警告/オプション/このコンテンツを有効にする毎回:

enter image description here

ファイルが物理的な場所の間を移動するため、 信頼できる場所 機能を使用したくありません。
同じ理由で、 この質問 で述べたデジタル証明書はオプションではありません。

ファイルをExcelマクロ対応ワークブックとして保存する(.xlsm拡張子)は違いを生みません。

3
Jan Doggen

ファイルは移動しますが、デジタル証明書を使用して、信頼できる [〜#〜] ca [〜#〜] からの証明書を使用してマクロプロジェクトに署名できます。

実際には、マクロプロジェクトにデジタル署名するMS Officeの機能の目的は、信頼できるマクロが有効になっている任意の場所から実行され、警告。

デジタル署名がなければ、方法はありません。マクロを中心に構築されたセキュリティの目的全体が無効になるため、警告なしに任意のワークステーションで実行できます。

マクロプロジェクトにデジタル署名する方法は次のとおりです。

  1. 署名するマクロプロジェクトを含むファイルを開きます。

  2. DeveloperタブのCodeグループで、Visual Basicをクリックします。

  3. Visual BasicのToolsメニューで、Digital Signatureをクリックします。 [デジタル署名]ダイアログが表示されます。

  4. 証明書を選択し、[OK]をクリックします。

注:

a)[開発者]タブが使用できない場合:[File]タブをクリックします。 Optionsをクリックします。 Customize Ribbonをクリックします。 [リボンのカスタマイズ]リストで、[Developer]をクリックし、[OK]をクリックします。

b)デジタル証明書を選択していない場合、または別の証明書を使用する場合は、Chooseをクリックします。証明書を選択し、[OK]をクリックします。

c)ソリューションがテストされ、配布の準備ができた後でのみマクロに署名することをお勧めします。署名されたマクロプロジェクトのコードが何らかの方法で変更されると、そのデジタル署名は削除されます。ただし、以前にコンピューターでプロジェクトに署名するために使用された有効なデジタル証明書がある場合、マクロプロジェクトは、保存時に自動的に再署名されます。

d)ソリューションのユーザーが誤ってマクロプロジェクトを変更して署名を無効にするのを防ぎたい場合は、署名する前にマクロプロジェクトをロックしてください。あなたのデジタル署名は、あなたが署名してからプロジェクトが改ざんされていないことを保証することを意味します。あなたのデジタル署名は、あなたがプロジェクトを書いたことを証明するものではありません。したがって、マクロプロジェクトをロックしても、別のユーザーがデジタル署名を別の署名に置き換えることを妨げることはありません。企業の管理者は、テンプレートとアドインに再署名して、コンピューターで実行するユーザーを制御できます。

e)マクロプロジェクトにコードを追加するアドインを作成する場合、コードはプロジェクトがデジタル署名されているかどうかを判断し、署名されたプロジェクトを変更した場合の結果をユーザーに通知してから続行する必要があります。マクロにデジタル署名する場合、署名に使用された証明書の有効期限が切れているか、署名後に取り消された場合に他のユーザーが署名を確認できるように、タイムスタンプを取得することが重要です。タイムスタンプなしでマクロに署名した場合、署名は証明書の有効期間中有効です。

f) マクロプロジェクトにデジタル署名する信頼できる場所 とは異なることに注意してください。

参照:

4
thilina R