WD2000: Using the Open Statement in Word VBA (209231)
The information in this article applies to:
This article was previously published under Q209231 SUMMARY
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.
MORE INFORMATIONMicrosoft 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.
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. 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, click
the article number below to view the article in the Microsoft Knowledge
Base:
212536
OFF2000: How to Run Sample Code from Knowledge Base Articles
REFERENCES
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
Modification Type: | Minor | Last Reviewed: | 10/11/2006 |
---|
Keywords: | kbdtacode kbhowto kbmacroexample kbProgramming KB209231 |
---|
|