【Access】不真面目にシステム開発を考える5~セキュリティに関する通知対策~

ドラム式の洗濯機にして全然天気予報を見なくなったJimです。どうも✋

 

やっと梅雨入りしましたね。

はい。ってことで、前回の続きです。

変なメッセージが表示される件ね。

 

この通知を表示させないようにするにはレジストリを触らないといけないのです。

何か怖いですね。

でも、毎回出るのは嫌だし面倒なので設定します。

とりま、レジストリエディタを開きます。

 

『コンピューター\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security\Trusted Locations』のディレクトリで右クリック⇒『新規』を選択し『キー』を追加。

今回は名前を『Location1』に変更。

次に『Location1』のディレクトリで右クリック⇒『新規』を選択し『文字列値』を追加。

名前をPathにして、Pathをダブルクリックし値のデータをAccessの置き場にします。

サーバにあるAccessをコピペするディレクトリです。

 

「ちょっと待て、社員数分これをやれって言うのか?」と思いました?

いや、だからメニューにレジストリ設定が作ってあったでしょ。

 

このボタンにレジストリを追加するプログラムを追加します。

Private Const REGISTRY_PATH = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security\Trusted Locations\Location1"
Private Const ACCESS_PATH = "C:\プログラム\Access"

Call shellObject.RegWrite(Name:=REGISTRY_PATH & "\Path", Value:=ACCESS_PATH, Type:="REG_SZ")

 

これだと同一ディレクトリがあったらよろしくないので工夫しておきます。

Private Const REGISTRY_PATH = "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Access\Security\Trusted Locations\Location"
Private Const ACCESS_PATH = "C:\プログラム\Access"


Private Sub c_btn_レジストリ設定_Click()

    If MsgBox("レジストリの設定を行います" & vbCrLf & "(システム研究部に許可なく実行しないこと)", vbYesNo + vbExclamation, "注意") = vbNo Then Exit Sub

    Dim shellObject As Object
    Set shellObject = CreateObject("WScript.Shell")

    For i = 0 To 9

        On Error GoTo REG_ERR
        regValue = shellObject.RegRead(Name:=REGISTRY_PATH & i & "\Path")
        On Error GoTo 0

        If regValue = ACCESS_PATH Then

            MsgBox "レジストリ設定済みです", vbOKOnly, "設定完了"
            Exit Sub

        End If

    Next

    MsgBox "レジストリ設定でエラーです" & vbCrLf & "(システム研究部に連絡願います)", vbYesNo + vbCritical, "エラー"

    Exit Sub

REG_ERR:

    Call shellObject.RegWrite(Name:=REGISTRY_PATH & i & "\Path", Value:=ACCESS_PATH, Type:="REG_SZ")
    MsgBox "レジストリ設定が完了しました", vbOKOnly, "設定完了"

End Sub

 

ボタン1つでランタイム実行時に出る『セキュリティに関する通知』が表示されなくなりました。

 

 

ってことで、次回はSQLServerのデータをSQLで取り出したり追加したり更新したり削除したりってのをやります。

うん、次回で基本的なことは終わりです。

あとはフォームを工夫してメニューを追加していくだけなのです。

したら、またね✋