Accessデータベースのパスワードを変更するには、排他モードで開いての操作になります。
パスワード付きファイルを渡す時に、「排他モード」の説明をするのが手間で、VBAで何とかならないかと調べていたら、できることがわかりました。
OneDriveに保存 素人作
https://1drv.ms/f/s!AojW1V4ZgPfo9XWNNEn7JqbwP1El
マクロの警告が出ます。
怪しいプログラムではありませんが、ウイルスチェックしてから開いてください。
下記はオリジナルではありません。ネットで公開されているもののコピペです。
'参照設定:Microsoft DAO Object Libraryが必要です。
Sub SetPasswd(o_pass As String, n_pass As String, file_name As String)
Dim objDB As Database '
Dim cConnect As String '接続文字列
'現在のパスワード(o_pas)を含めた接続文字列の作成
cConnect = ";DATABASE=" & file_name 'file_nameはフルパス
cConnect = cConnect & ";PWD="
cConnect = cConnect & o_pass
' データベースを排他モードでオープンする
Set objDB = OpenDatabase(file_name, True, False, cConnect)
' 新しいパスワードを設定
objDB.NewPassword o_pass, n_pass
' DBを閉じる
objDB.Close
Set objDB = Nothing
End Sub
