Written by Allen Wyatt (last updated November 4, 2022)
This tip applies to Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365
There may be times when you want a macro to save information to a text file. This is very easy to do. All you need is to open the file for output, and then start sending information to the file. The following code fragment writes a text file using this method.
Open "MyFile.Dat" For Output As #1 Print #1, NumValues For J = 1 to NumValues Print #1, UserVals(J) Next J Close #1
The first thing written to the file is a numeric value indicating how many individual values will follow it (the code presumes that you set this value in the NumValues variable). Then a For ... Next loop is used to create the balance of the file.
You should be aware that the code, as written, will overwrite any existing MyFile.Dat file. If you want to protect the file in some way, your code will need to check to see if it exists before opening it or you'll need to set the attributes of the file to read-only.
Note:
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (8885) applies to Microsoft Excel 2007, 2010, 2013, 2016, 2019, and Excel in Microsoft 365. You can find a version of this tip for the older menu interface of Excel here: Saving Information in a Text File.
Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!
Grab some info from a source other than Excel, and you may find the need to delete a certain pattern of rows from a ...
Discover MoreWhen creating macros, you often need to process numbers in various ways. VBA allows you to convert a numeric value to an ...
Discover MoreWorkbooks get corrupted from time to time; that's a fact of life in an Excel world. If those corrupted workbooks contain ...
Discover MoreFREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
2020-11-01 17:12:40
Allen
Instead of using "For Output" in the "Open" line, use "For Append"
-Allen
2020-11-01 16:06:50
John Mann
How would you append the new data to an existing text file, rather than overwriting what ever is in the file?
Got a version of Excel that uses the ribbon interface (Excel 2007 or later)? This site is for you! If you use an earlier version of Excel, visit our ExcelTips site focusing on the menu interface.
FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2023 Sharon Parq Associates, Inc.
Comments