web-dev-qa-db-ja.com

Visual Basicプロジェクトへのプログラムによるアクセスが信頼されていません

コンピューターに2つのスケジュールされたタスクがあります。 Excelファイルを開き、マクロを実行しますが、動作は非常に似ています。どちらも私のコンピューターで動作します。しかし、スケジュールされたタスクを同僚のコンピューターに移動しました。 1つは機能し、もう1つは機能しませんでした。

動作しなかったものはExcelを開きましたが、次のようなエラーがありました:

「Visual Basicプロジェクトへのプログラムによるアクセスは信頼できません」。

私が言ったように、両方のExcelファイルは非常に似ています。動作しなかったプロジェクトは、2つの追加プロジェクトを参照しますが、他のプロジェクトは参照しません。彼らです、

Microsoft Visual Basic for Applications Extensibility 5.3
Microsoft Windows Common Controls-2.6.0 (SP6)

以前にこのエラーに出くわしたことはありません。

41
mHelpMe

[ファイル]-> [オプション]-> [セキュリティセンター]-> [セキュリティセンターの設定]-> [マクロ設定]-> [VBAプロジェクトオブジェクトモデルへのアクセスを信頼する]。

enter image description here

enter image description here

これは通常、拡張ライブラリを参照している場合に必要です。

80
user2140173

これは、Pythonを使用してpywin32 Mark Hammondによるモジュール。

@ user2140173による上記の投稿が実際に行うことは、いくつかのレジストリ値を変更することです。これは、pywin32モジュールは次のとおりです。

インポートwin32apiインポートwin32con

key = win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,
                            "Software\\Microsoft\\Office\\16.0\\Excel"
                            + "\\Security", 0, win32con.KEY_ALL_ACCESS)
win32api.RegSetValueEx(key, "AccessVBOM", 0, win32con.REG_DWORD, 1)

参照:

  1. http://docs.activestate.com/activepython/2.4/pywin32/win32api__RegSetValueEx_meth.html
  2. http://docs.activestate.com/activepython/2.4/pywin32/win32api__RegOpenKeyEx_meth.html
0
alpha_989