ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Macro (https://www.excelbanter.com/excel-programming/418339-macro.html)

Arnie

Macro
 
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

joel

Macro
 
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.

"Arnie" wrote:

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


joel

Macro
 
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.

"Arnie" wrote:

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


Arnie

Macro
 
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

"Joel" wrote:

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.

"Arnie" wrote:

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


joel

Macro
 
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

"Arnie" wrote:

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

"Joel" wrote:

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.

"Arnie" wrote:

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



All times are GMT +1. The time now is 05:50 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com