Desktop productivity for business analysts and programmers

Automatically Copy with headers using Ctrl+C?

Reply
New Contributor
Posts: 4

Automatically Copy with headers using Ctrl+C?

In using EG (v 7.13) there are many times I want to copy a dataset and paste it in Excel to do some ad-hoc analysis that is easier that way. When I do this I always want to include the headers but if I use the copy shortcut (Ctrl+C) it defaults to just copying the data without the headers included. Is there an option I am not aware of to change the default to copy with headers? I know I can right click and do it that way but I would prefer to use the shortcut as it is what I do instinctively.

 

Thanks

Community Manager
Posts: 2,691

Re: Automatically Copy with headers using Ctrl+C?

No, there isn't a keyboard shortcut for "Copy with Headers" -- it's a right-click action.

 

But you could use a tool like AutoHotkey to map your own shortcuts (for EG or for any Windows application).

 

 

Trusted Advisor
Posts: 1,050

Re: Automatically Copy with headers using Ctrl+C?

I know what it's like to have a customary way of doing things, and ordinarily I wouldn't interfere, but I would REALLY REALLY like to suggest you give the "Send To"..."Microsoft Excel" functionality a try. I wouldn't do it any other way; the headings come out right, Excel doesn't try to interpret any "funky" data that comes across, dates and times are good.

 

I'll offer you DOUBLE your money back! If you don't like it, I'll refund you TWO TIMES what you paid for this tip!! Robot Happy

 

Tom

Valued Guide
Posts: 505

Re: Automatically Copy with headers using Ctrl+C?

If you happen to have 'full'  local SAS with the 'old text editor' you can do the following.

Suppose you have this code in your editor

data class;
  set sashelp.class;
run;

Highlight either sashelp.class or class and type 'xlsh' on the clean command line. Excel will open with the the sasdatset imported.

==> xlsh

You can also put the command macro on a function key. (highlight - hit key fyi macro xls for last dataset)
SAS removed this functionality in all editors after the old text editor.
The command macro has to be in your autocall library.

I also have shift-rmb to list 40 obs from last dataset with obs number.
and many more. Much faster that SAS viewer and you can cut and paste.

and excel will open with the SAS dataset importted.

%macro xlsh /cmd ;
   store;note;notesubmit '%xlsha;';
   run;
%mend xlsh;

%macro xlsha/cmd;

    filename clp clipbrd ;
    data _null_;
     infile clp;
     input;
     put _infile_;
     call symputx('argx',_infile_);
    run;

    %let __tmp=%sysfunc(pathname(work))\myxls.xlsx;

    data _null_;
        fname="tempfile";
        rc=filename(fname, "&__tmp");
        put rc=;
        if rc = 0 and fexist(fname) then
       rc=fdelete(fname);
    rc=filename(fname);
    run;

    libname __xls excel "&__tmp";
    data __xls.%scan(__&argx,1,%str(.));
        set &argx.;
    run;quit;
    libname __xls clear;

    data _null_;z=sleep(1);run;quit;

    options noxwait noxsync;
    /* Open Excel */
    x "'C:\Program Files\Microsoft Office\OFFICE14\excel.exe' &__tmp";
    run;quit;

%mend xlsha;
Ask a Question
Discussion stats
  • 3 replies
  • 189 views
  • 3 likes
  • 4 in conversation