「プログラミングによる Visual Basic プロジェクトへのアクセスは信頼性に欠けます」と表示される場合の対処法
スポンサーリンク
実行時エラー 1004「プログラミングによる Visual Basic プロジェクトへのアクセスは信頼性に欠けます」と表示される場合の原因と対処法の紹介です。
原因
エクセルのセキュリティの設定が初期設定のままで、 VBA等 から VBA 自体の情報を参照や変更しようとするとこのエラーが表示されます。
エクセルでは、システムに問題を起こす可能性のある "自己複製型" コードを防ぐことを目的として、デフォルトの設定では、オートメーションクライアントから VBA オブジェクト モデルへアクセスできないように設定されています。
対処法
ファイルメニューから以下の設定を変更します。
「ファイル」
→「オプション」
→「セキュリティ センター」
→「セキュリティ センターの設定」(ボタン)
→「マクロの設定」
→「VBA プロジェクト オブジェクト モデルへのアクセスを信頼する」のチェックボックスをオンにする。
この設定はファイル単位ではなく、アプリケーション単位で設定されます。 またユーザーごとに設定される為、同一端末でも別ユーザーでログインした場合は設定し直す必要があります。 複数のユーザーにファイルを配布する場合も、エクセルの設定は個々に変更する必要がある為、複数のユーザーが使用するようなエクセルファイルでは、この設定変更が必要なプログラムの実装方法は避けた方が良いです。
スポンサーリンク
- エクセルVBA
- Debug.Print が出力するウインドウを表示する方法
- オブジェクトが空(Nothing)であるかを調べる方法
- R1C1 形式で範囲を指定する方法
- 変数やオブジェクトの型を確認する方法
- yyyymmdd 形式の文字列で現在日付を取得する方法
- 新しいブックを作成して保存する方法
- yyyymmdd 形式の文字列や数値を Date 型に変換する方法
- yyyymmdd 形式の文字列や数値が正しい日付かを判定する方法
- OKボタンだけのダイアログを使用する方法
- Yes/No ダイアログを使用する方法
- Yes/No/Cancel ダイアログを使用する方法
- ダイアログのメッセージを途中で改行する方法
- ソースコードが長い時に途中で改行する方法
- 文字列の一部を置換する方法
- 処理を一時停止する方法
- Select Case で条件分岐する方法
- 半角を全角に変換、全角を半角に変換する方法
- 大文字と小文字を変換する方法
- 「プログラミングによる Visual Basic プロジェクトへのアクセスは信頼性に欠けます」と表示される場合の対処法
- 呼び出すプロシージャを文字列で指定する方法
- ワークシート
- 全てのシートをコピーする方法
- シート数を確認する方法
- シートをコピーして名前を変更する方法
- 指定した名前のシートが存在するかを確認する方法
- シートを削除する方法
- 名前を指定してシートを追加する方法
- 全てのシートをループして処理する方法
- 配列
- 配列のサイズを動的に変更する方法
- For Each で配列の全ての要素を処理する方法
- 2個の配列をマージする方法
- ファイル・フォルダ
- テキストファイルに書き込む方法(Shift-JIS)
- UTF-8など文字コードを指定してテキストファイルに書き込む方法
- ファイルの更新日時を取得する方法
- フォルダ内のファイル数を取得する方法
- フォルダ内のファイルとフォルダの一覧を取得する方法
- ファイルをコピーする方法
- パスからファイル名を取得する方法
- 拡張子無しのファイル名を取得する方法
- ファイルの拡張子を取得する方法
- ファイルの作成日時、更新日時を取得する方法
- VBAを実行中のファイルが格納されたフォルダのパスを取得する方法
- ファイルが存在するかを確認する方法
- Dictionary
- Dictionary の要素数をカウントする方法
- Dictionary の要素を全て削除する方法
- Dictionary の要素を削除する方法
- Dictionary をループして処理する方法
- Dictionary の要素の値を変更する方法
- Dictionary に指定したキーが存在するかを確認する方法
- Dictionary に要素を追加する方法
- Dictionary でキーの大文字と小文字を区別しないようにする方法
- SQL Server接続
- ExcelでADODBの参照設定を行う方法
- DELETE文を実行して削除件数を取得する方法
- SELECT文を実行して抽出結果をシートに出力する方法
- UPDATE文を実行して更新件数を取得する方法
- INSERT文を実行して登録件数を取得する方法
- ストアドプロシージャに引数を渡して実行する方法
- ストアドプロシージャを実行して戻り値を受け取る方法
- プリペアドステートメントで SQLを実行する方法