VBA Code to Write Selected Cell Range to File
Tonight's tip is on an Excel macro you can use to copy a selected range directly to a text file, or more specifically a batch file.
In this example, you can see that I have some code for the Windows XCOPY command which will copy four PDFs from one folder to another. I have selected the lines I want to save to a batch file that I can run from the destination folder.
In Visual Basic I have inputted the VBA code found on this site, http://stackoverflow.com/questions/19688269/copy-a-range-selection-to-text-file
I changed the code posted to stackoverflow on the line currently reading:
oFile.Write c.Value & vbCrLf
from: oFile.Write c.Value & " "
. . . so a line break would be added between the selected cells rather than a space. The updated code is posted below. You may need to delete the spaces in front of the oFile.Write c.Value & vbCrLf line and add a tab. The Wix editor converts tabs to spaces.
The macro will successfully generate a batch file, that you can then double-click and run.
Sub writeCells() Dim strPath As String Dim strName As String Dim FSO As Object Dim oFile As Object Dim c As Range
strName = "test.bat" strPath = "C:\foofolder3\"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFile = FSO.CreateTextFile(strPath & strName)
For Each c In Selection
oFile.Write c.Value & vbCrLf Next c
oFile.Close
End Sub