Solved

VBA copy from Excel to Notepad

Posted on 2013-05-21
9
6,019 Views
Last Modified: 2013-05-23
Need some code to copy a range of cells from Excel,open up notepad and paste into it.
Anyway to have notepad save to a given csv file and save into a given folder using VBA?
0
Comment
Question by:cebu1014
9 Comments
 
LVL 39

Expert Comment

by:nutsch
ID: 39184760
It's all possible, but it's not necessarily clean. Why don't you save the csv directly without going through notepad?

Thomas
0
 
LVL 22

Expert Comment

by:rspahitz
ID: 39184909
Yes, I would suggest using VBA to simply create a new worksheet, paste the desired data into that sheet, then Save-As the sheet using CSV into the desired folder.
0
 

Author Comment

by:cebu1014
ID: 39185044
I would like to at least no how to open up notepad and to paste into it using VBA just to have the know how. There is some issues I am having otherwise when using double quotes in fields .
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 81

Expert Comment

by:byundt
ID: 39185078
If you want to learn how to open Notepad from Excel, paste data and save the resulting file, take a look at the code in this Mr. Excel thread: http://www.mrexcel.com/forum/excel-questions/46163-open-notepad-form-visual-basic-applications.html
0
 
LVL 22

Expert Comment

by:rspahitz
ID: 39185139
A simple way to get started is this, but it won't save the file:

Sub CopyToNotepad()
    Shell "Notepad", vbNormalFocus
    AppActivate "Untitled - Notepad"
    SendKeys "123"
End Sub

Open in new window

0
 
LVL 22

Accepted Solution

by:
rspahitz earned 500 total points
ID: 39185189
Or another way that will create the file then open it, insert data, then save:
Sub CopyToNotepad()
    Dim iFileNumber As Integer
    
    Selection.Copy' copy the current Excel selection

    iFileNumber = FreeFile()' find the next free file identifier

   ' create the file
    Open "C:\Users\{username}\Documents\abc.txt" For Output As #iFileNumber
    Close #iFileNumber

    ' launch the file in notepad
    Shell "Notepad C:\Users\{username}\Documents\abc.txt", vbNormalFocus

   ' activate the window so we can talk to it
    AppActivate "abc.txt"

   ' send a Ctrl+V (paste) and Ctrl+S (save) to notepad...could also send an Alt-FX to exit if desired
    SendKeys "^v^s"
End Sub

Open in new window


Note that SendKeys is considered occasionally flaky and not always reliable.
0
 

Author Comment

by:cebu1014
ID: 39189909
I got it to work using your above routine as a guide. I removed some of the lines though and added  TRUE at end of sendkeys command in order to get it to work.

Sub CopyToNotepad()
   
   
     Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy

 
    Shell "Notepad C:\Users\mw1\my Documents\abc.csv", vbNormalFocus


   
    SendKeys "^a", True
    SendKeys "{ENTER}", True
SendKeys ("^{HOME}"), True
SendKeys "^v", True
End Sub
1
 

Author Closing Comment

by:cebu1014
ID: 39189912
Good Job
0
 
LVL 22

Expert Comment

by:rspahitz
ID: 39191225
Glad it got you in the right direction.  Seems that you learned a few new things along the way too.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Approximate matching with VLOOKUP and MATCH seems to me to be a greatly under-used technique, and one which is vital for getting good performance out of large lookups. Until recently I would always have advised using an exact match for simplicity an…
Workbook link problems after copying tabs to a new workbook? David Miller (dlmille) Intro Have you either copied sheets to a new workbook, and after having saved and opened that workbook, you find that there are links back to the original sou…
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
This Micro Tutorial demonstrates how to create Excel charts: column, area, line, bar, and scatter charts. Formatting tips are provided as well.

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question