Macro

  • Thread starter Thread starter Arnie
  • Start date Start date
A

Arnie

is it possible to control Notepad from a macro ie open a new notepad, paste
data in and then save as.

If so how do i call notepad in VB

thanks in advance
 
Not sure why you don't just save the Excel file as TEXT, Paste data (use
PasteSpecial Text only") into new Excell Workbook and save as Text. You
could open Word and paste data into word and then save word as a text
document.
 
You can open notepad with the following statements and then change the focus
to the NotePad window with these commands

Root = Environ("SystemRoot")

ID = Shell(Root & "\Notepad.exe")
AppActivate ID

Use copy commnd from excel to put data into Cliupbord before opening Notepad
and changing the focus. Then use "SendKey" commnd to send the key stokes
required to Notepad. You can use the ShortCuts in NotePad like Cntl+V to
paste.
 
Thanks i did find this

Shell "notepad.exe", vbNormalFocus
Application.SendKeys ("^V")

which works for opening and pasting
but i can't find anything for SaveAs

i am selecting data from different sheets in excel then using notepad to
paste this data into. the notepad is then saved as a script file. Hence the
need to control notepad
 
My code is equivalent to yours but is more robust by specifying the ID
(incase multiple NotePad applications are open) and wil work if a different
folder is the default folder.

Root = Environ("SystemRoot")

ID = Shell(Root & "\Notepad.exe", vbNormalFocus)
SendKeys "^v", Wait:=True
SendKeys "^s", Wait:=True
SendKeys "%n", Wait:=True
SendKeys "c:\temp\abc.txt{Enter}", Wait:=True
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top