WD97: Using the Open Statement in Word VBA

Last reviewed: March 3, 1998
Article ID: Q181788
The information in this article applies to:
  • Microsoft Word 97 for Windows

SUMMARY

The Open statement is part of the Microsoft Visual Basic for Applications language. This command allows you to open a data file for reading, modifying, or adding to the file.

NOTE: The Open statement does not open the file into the workspace, it merely opens the file for manipulation by your macro.

NOTE: The Open statement should not be used to open a program's own file types. For example, do not use Open to open a Word document, a Microsoft Excel spreadsheet, or a Microsoft Access database. Doing so will cause loss of file integrity and file corruption.

MORE INFORMATION

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 engineers 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/support/supportnet/refguide/default.asp

The correct syntax for the Open statement is:

   Open pathname For mode [access] [lock] As [#]filenumber [Len=reclength]

The Open statement syntax has the following parts.

Part            Description

pathname        Required. String expression that specifies a file name may
                include directory or folder, and drive.

    mode        Required. Keyword specifying the file mode: Append, Binary,
                Input, Output, or Random. If unspecified, the file is
                opened for Random access.

  access        Optional. Keyword specifying the operations permitted on
                the open file: Read, Write, or Read Write.

    lock        Optional. Keyword specifying the operations permitted on
                the open file by other processes: Shared, Lock Read, Lock
                Write, and Lock Read Write.

filenumber      Required. A valid file number in the range 1 to 511,
                inclusive. Use the FreeFile function to obtain the next
                available file number.

reclength       Optional. Number less than or equal to 32,767 (bytes). For
                files opened for random access, this value is the record
                length. For sequential files, this value is the number of
                characters buffered.

Statement Example

   Sub OpenExample()

      Dim sFirst, sLast, sAddress, sCity, sState, sZip As String

      ' CREATE DATA FILE
      ' Open file for input.
      Open "Datafile.txt" For Output As #1

      ' Write data to file.
      Write #1, "John", "Doe", "An Address", "A City", "A State", "A Zip"

      ' Close File.
      Close #1

      ' RETRIEVE DATA FROM FILE
      ' Open file for input.
      Open "Datafile.txt" For Input As #1

      ' Loop until the end of file is reached.
      Do While Not EOF(1)

         ' Read data into variables.
         Input #1, sFirst,sLast,sAddress,sCity,sState,sZip

         ' Print data to Debug window.
         Debug.Print sFirst,sLast,sAddress,sCity,sState,sZip

      Loop

      ' Close file.
      Close #1

   End Sub

This macro creates or opens a file called Datafile.txt and puts the comma and quotation mark delimited data into the file. The data can then later be retrieved using the Input # Statement.

REFERENCES

For more information about writing data to files, click the Office Assistant while in the Visual Basic Editor, type "Writing Data to Files," click Search, and then click to view "Writing Data to Files."

For additional information, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q173707
   TITLE     : OFF97: How to Run Sample Code from Knowledge Base Articles

For more information about getting help with Visual Basic for Applications, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q163435
   TITLE     : VBA: Programming Resources for Visual Basic for
               Applications


Additional query words:
Keywords : kbdta kbdtacode kbmacroexample word97 OffVBA
Version : WINDOWS:97
Platform : WINDOWS
Issue type : kbhowto


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 3, 1998
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.