|
れおパパ さん、こんにちは。
>ワードファイルにパスワードを設定するプログラムを作成中ですが
>誰かがLAN内で同じファイルを開くときに、「使用中のファイル」のメッセージがでますが、このメッセージがでたときはファイルを開かせないか、一度読み取りで開くなりメッセージを出さないようにすることはできるのでしょうか?
サポートにある、ファイルが使用中かどうかをチェックする簡単な関数のサンプルコードです。
htt p://support.microsoft.com/kb/209189/ja
かなりあやしい日本語ですが(笑)、メッセージボックスを表示する部分を除いてほぼそのまま転載してあります。
パスワードを設定しようとしているならば、開かないほうがよさそうですよね。
Sub Test()
Dim Ifile As String
Ifile = "d:\TEST\TEST.doc"
'
If FileLocked(Ifile) = True Then
Debug.Print "×", Ifile, Time
Else
'正常な処理
Debug.Print "○", Ifile, Now
Application.Documents.Open Ifile
End If
End Sub
'//////////////////////////////////////////////////
Function FileLocked(strFileName As String) As Boolean
On Error Resume Next
' If the file is already opened by another process,
' and the specified type of access is not allowed,
' the Open operation fails and an error occurs.
Open strFileName For Binary Access Read Write Lock Read Write As #1
Close #1
' If an error occurs, the document is currently open.
If Err.Number <> 0 Then
FileLocked = True
Err.Clear
End If
End Function
Debug.Printでイミディエイトウィンドウに処理結果を記録しています。
|
|