WD: Macro to Determine If File Is Already Open
ID: Q89429
|
The information in this article applies to:
-
Microsoft Word for Windows, versions 1.0, 1.10, 1.10a, 2.0, 2.0a, 2.0a-CD, 2.0b, 2.0c, 6.0, 6.0a, 6.0c
-
Microsoft Word for Windows NT, version 6.0
-
Microsoft Word for Windows 95, versions 7.0, 7.0a
-
Microsoft Word for the Macintosh, versions 6.0, 6.0.1
SUMMARY
The following WordBasic macro uses the Open command to determine if a
specified file is already open.
You can use the following macro to avoid opening two versions of a file
when you use the WordBasic FileOpen command to open specific files:
Sub MAIN
On Error Goto errors
' Open the document using the Wordbasic "Open" command.
' If the document has a lock on the file an error will
' occur springing the error trap.
Open "C:\WINWORD\README.DOC" For Input As #1
Close #1
' If an error does not occur, no other process
' has the document currently open, so open the
' document in word.
FileOpen .Name = "C:\WINWORD\README.DOC"
Errors:
If err <> 0 then
Close #1
If err = 55 Then MsgBox "File Already Open"
End If
End Sub
MORE INFORMATION
When using the WordBasic Open For As command, error number 55 will be
returned if the file is already open. The macro above traps error number 55
and posts a message if the file is already open. The MsgBox command can be
replaced by other WordBasic commands depending on the purpose of the macro.
If the specified file (C:\WINWORD\README.DOC) is not open, the WordBasic
FileOpen command will open the file.
NOTE: The above macro checks to see if the file is open. The macro will
detect that the file is open even if the file is open in an application
other than Word for Windows.
Microsoft provides programming examples for illustration only, without
warranty either expressed or implied, including, but not limited to, the
implied warranties of merchantability and/or fitness for a particular
purpose. This article assumes that you are familiar with the programming
language being demonstrated and the tools used to create and debug
procedures. Microsoft support professionals can help explain the functionality
of a particular procedure, but they will not modify these examples to
provide added functionality or construct procedures to meet your specific
needs. If you have limited programming experience, you may want to contact
the Microsoft fee-based consulting line at (800) 936-5200. For more
information about the support options available from Microsoft, please see
the following page on the World Wide Web:
http://www.microsoft.com/supportnet/refguide/
For information about how to do this in Word 97, please see the following
articles in the Microsoft Knowledge Base:
Q159345 Word 97: Macro to Determine If File Is Already Open
REFERENCES
"Using WordBasic," by WexTech Systems and Microsoft, page 263
Additional query words:
files fileopen read document
Keywords : kbmacro wordnt kbmacroexample winword ntword macword word6 winword2 word7 word95
Version : MACINTOSH:6.0,6.0.1; WINDOWS:1.0,1.10,1.10a,2.0,2.0a,2.0a-CD,2.0b,2.0c,6.0,6.0a,6.0c,7.0,7.0a; winnt:6.0
Platform : MACINTOSH WINDOWS winnt
Issue type : kbhowto