WD2000: Using the Open Statement in Word VBA
This article was previously published under Q209231
This article has been archived. It is offered "as is" and will no longer be updated.
The Open statement is part of the Microsoft Visual Basic for Applications (VBA)language. This command allows you to open a text data file for reading, modifying, or adding to the file.
The Open statement does not open the text data file in Word as a document. The file is open in VBA for manipulation by your VBA macro.
NOTE: The Open statement should not be used to open a program's own file types. For example, do not use this Open statement to access Word documents, a Microsoft Excel worksheet, or a Microsoft Access database. Doing so may cause file corruption and loss of file integrity.
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to 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 requirements. The correct syntax for the Open statement is as follows:
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.
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 #1End Sub
This macro creates or opens a file called Datafile.txt and puts the commaand quotation mark delimited data into the file. The data can then later beretrieved using the Input # statement.
For more information about writing data to files, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type writing data to files in the Office Assistant or the Answer Wizard, and then click Search to view the topic.
For more information about how to use the sample code in this article, clickthe article number below to view the article in the Microsoft Knowledge Base:
212536 OFF2000: 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:
226118 OFF2000: Programming Resources for Visual Basic for Applications
vb vba vbe
Article ID: 209231 - Last Review: 12/05/2015 11:06:29 - Revision: 3.2
Microsoft Word 2000 Standard Edition
- kbnosurvey kbarchive kbdtacode kbhowto kbmacroexample kbprogramming KB209231