今回は、サーバに保管しているAccessファイルを開かれないようにする方法
(開いた際にAccessがサーバ上に保管されていることを確認して保存せずに閉じる方法)を紹介します。
基本的には、以前紹介したExcelでの方法(詳細はこちらを参照)で行います。
違いとしては、ExcelではThisWorkbookオブジェクトを使用していましたが、
AccessではCurrentProjectオブジェクトを使用している点です。
利用する際は、参照設定にて「Windows Script Host Object Model」にチェックを入れてください。
WshNetworkオブジェクト、IWshCollectionオブジェクトにて使用します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Private Sub AutoExec() Dim ObjWNW As New WshNetwork Dim Drives As IWshCollection Dim Num As Integer Set Drives = ObjWNW.EnumNetworkDrives '全てのネットワークドライブ(サーバ) For Num = 0 To Drives.Length - 1 Step 2 ' コレクションの奇数番目にネットワークパス If InStr(CurrentProject.FullName, Drives.Item(Num + 1)) > 0 Then MsgBox CurrentProject.Name & " をネットワーク上で開かないでください。", vbCritical 'Accessファイルをを保存せずに閉じる Application.Quit acQuitSaveNone End If Next End Sub |
今回はここまで。
---コメント---