Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
How open notepad.exe and write text line by line via excel vba?
Hi,
At the end of my code I need to open notepad.exe and write text line by line. How to do with excel vba. Please help. Thanks |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
How open notepad.exe and write text line by line via excel vba?
"geniusideas" wrote:
At the end of my code I need to open notepad.exe and write text line by line. How to do with excel vba. No need to run notepad.exe. See the following paradigm. FYI: The macro writes the same line twice two different ways to demonstrate the difference. I use the Print...myLine method in order to have complete control over spacing. Sub makeTextFile() Const myDir = "C:\temp\" Const myOutFile = "temp.txt" Dim fnOut As Long Dim n As Long, myLine As String, myOutPath As String myOutPath = myDir & myOutFile fnOut = FreeFile Open myOutPath For Output Access Write As #fnOut For n = 1 To 10 myLine = "Line " & n & Format(Timer(), " 0.000000") Print #fnOut, myLine Print #fnOut, "Line "; n; Format(Timer(), " 0.000000") Next n = n - 1 Close MsgBox "done" & vbNewLine & n & " lines" End Sub |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
How open notepad.exe and write text line by line via excel vba?
Hi,
At the end of my code I need to open notepad.exe and write text line by line. How to do with excel vba. Please help. Thanks Expanding on joeu2004's example in another way... Writing large amounts of text to a file is slow at best, and so I offer the following reusable procedure that will let you write any amount of text to a file, OR append any amount of text to an existing file. Assemble your entire file content into a string containing line returns for each line of text, then *dump* the string into a file in one shot... Sub WriteTextFileContents(TextOut$, Filename$, _ Optional AppendMode As Boolean = False) ' Reusable procedure that Writes/Overwrites or Appends large amounts ' of data to a Text file in one single step. ' **Does not create a blank line at the end of the file** Dim iNum As Integer On Error GoTo ErrHandler iNum = FreeFile() If AppendMode Then Open Filename For Append As #iNum: Print #iNum, vbCrLf & TextOut; Else Open Filename For Output As #iNum: Print #iNum, TextOut; End If ErrHandler: Close #iNum: If Err Then Err.Raise Err.Number, , Err.Description End Sub 'WriteTextFileContents() ...so, for example, if your text was in an array you could simply write to file like this... WriteTextFileContents Join(myArray, vbCrLf), myFilename ...where 'myFilename includes the full path. To append more text to an existing file... WriteTextFileContents Join(myArray, vbCrLf), myFilename, True HTH -- Garry Free usenet access at http://www.eternal-september.org Classic VB Users Regroup! comp.lang.basic.visual.misc microsoft.public.vb.general.discussion --- This email is free from viruses and malware because avast! Antivirus protection is active. http://www.avast.com |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
How write into text file at first and last line with excel vba? | Excel Programming | |||
Shell open Notepad and write text | Excel Programming | |||
Challenge - Excel Line Feed Character CHR(10) - How to Delete and keep the text formatting without going ro single line in a cell ? | Excel Programming | |||
Challenge - Excel Line Feed Character CHR(10) - How to Delete and keep the text formatting without going ro single line in a cell ? | Excel Worksheet Functions | |||
write a line from Excel to a text file | Excel Programming |