<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic DDE - simple copy &amp;amp; paste existing values? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/225528#M40499</link>
    <description>&lt;P&gt;Hello&lt;/P&gt;
&lt;P&gt;I have a process where I export data from SAS into an Excel workbook using DDE. &amp;nbsp;However, I also have to manipulate existing values within the target excel file. &amp;nbsp; My attempts at a simple copy and paste of existing values in the worksheet are not working as expected, if anyone has done this previously please could you point me in the right direction?&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;my code:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;* copy and paste previous snapshots;&lt;BR /&gt; filename ongcopy dde "excel|Sheet1! r2c1:r11c14";&lt;/P&gt;
&lt;P&gt;data _null_;&lt;BR /&gt; put '[error(false)]';&lt;BR /&gt; file ongcopy notab lrecl=500;&lt;BR /&gt; put '[select("r2c1:r11c1")]';&lt;BR /&gt; put '[copy()]';&lt;BR /&gt; put '[SELECT("r2c4")]';&lt;BR /&gt; put '[PASTE()]';&lt;BR /&gt; run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;I can't attach an excel file, but here's what the cells look like if you open Excel and paste these into Sheet1&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;TABLE width="403"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="138"&gt;copy from here&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD colspan="2" width="137"&gt;paste to here&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Aug-15&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;25&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;27&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;67%&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;26/05/2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
    <pubDate>Tue, 15 Sep 2015 09:07:35 GMT</pubDate>
    <dc:creator>RB1Kenobi</dc:creator>
    <dc:date>2015-09-15T09:07:35Z</dc:date>
    <item>
      <title>DDE - simple copy &amp; paste existing values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/225528#M40499</link>
      <description>&lt;P&gt;Hello&lt;/P&gt;
&lt;P&gt;I have a process where I export data from SAS into an Excel workbook using DDE. &amp;nbsp;However, I also have to manipulate existing values within the target excel file. &amp;nbsp; My attempts at a simple copy and paste of existing values in the worksheet are not working as expected, if anyone has done this previously please could you point me in the right direction?&lt;/P&gt;
&lt;P&gt;Thanks&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;my code:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;* copy and paste previous snapshots;&lt;BR /&gt; filename ongcopy dde "excel|Sheet1! r2c1:r11c14";&lt;/P&gt;
&lt;P&gt;data _null_;&lt;BR /&gt; put '[error(false)]';&lt;BR /&gt; file ongcopy notab lrecl=500;&lt;BR /&gt; put '[select("r2c1:r11c1")]';&lt;BR /&gt; put '[copy()]';&lt;BR /&gt; put '[SELECT("r2c4")]';&lt;BR /&gt; put '[PASTE()]';&lt;BR /&gt; run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;I can't attach an excel file, but here's what the cells look like if you open Excel and paste these into Sheet1&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;TABLE width="403"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="138"&gt;copy from here&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD colspan="2" width="137"&gt;paste to here&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;Aug-15&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;25&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;0&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;27&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;18&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;67%&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;26/05/2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;</description>
      <pubDate>Tue, 15 Sep 2015 09:07:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/225528#M40499</guid>
      <dc:creator>RB1Kenobi</dc:creator>
      <dc:date>2015-09-15T09:07:35Z</dc:date>
    </item>
    <item>
      <title>Re: DDE - simple copy &amp; paste existing values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/225532#M40500</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The simplest answer to this is don't. &amp;nbsp;DDE is old technology, its doesn't have full functionality beyond the scope it was initially used for. &amp;nbsp;I would read up on ods tagsets.excelxp or excel. &amp;nbsp;These have far more functionality in generating XML which is either native to Excel, or can be read by Excel. &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If there is something outside the scope of the tagsets, maybe you have a complicated template Excel file the data needs to go over to, then re-think the approach you take. &amp;nbsp;Insteand of writing to the Excel file from SAS, just drop the data out to a CSV file from SAS. &amp;nbsp;Now in your Excel file write a small bit of VBA macro to read in the CSV file and process it. &amp;nbsp;This option gives you all the functionality of Excel, i.e. you can read the data, create graphs, update pivots, create links etc. but you need to know VBA.&lt;/P&gt;</description>
      <pubDate>Tue, 15 Sep 2015 10:47:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/225532#M40500</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-09-15T10:47:37Z</dc:date>
    </item>
    <item>
      <title>Re: DDE - simple copy &amp; paste existing values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/225774#M40566</link>
      <description>Thanks RW9.   I've used tagsets to produce reports from scratch but not in conjunction with an existing document.     I hadn't thought of the CSV/VBA option so thanks for pointing that one out.&lt;BR /&gt;</description>
      <pubDate>Wed, 16 Sep 2015 07:15:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/225774#M40566</guid>
      <dc:creator>RB1Kenobi</dc:creator>
      <dc:date>2015-09-16T07:15:20Z</dc:date>
    </item>
    <item>
      <title>Re: DDE - simple copy &amp; paste existing values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/225947#M40614</link>
      <description>&lt;P&gt;It's been a while since I've used DDE, but your code "almost" works as is. With a couple of minor changes, it will do exactly what you intended.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;From your code I'm assuming that you have already opened the workbook, in Excel, prior to running the code. If so, then simply run:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;* copy and paste previous snapshots;&lt;BR /&gt;options noxsync noxwait;&lt;BR /&gt;filename sas2xl dde 'excel|system';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data _null_;&lt;BR /&gt;&amp;nbsp; file sas2xl;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data _null_;&lt;BR /&gt;&amp;nbsp; file sas2xl;&lt;BR /&gt;&amp;nbsp; put '[workbook.activate("Sheet1")]';&lt;BR /&gt;&amp;nbsp; put '[select("r2c1:r11c1")]';&lt;BR /&gt;&amp;nbsp; put '[copy()]';&lt;BR /&gt;&amp;nbsp; put '[SELECT("r2c4")]';&lt;BR /&gt;&amp;nbsp; put '[PASTE()]';&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you want to do anything more complex, do a Google search for any of&amp;nbsp;Koen Vyverman's papers. One example of his excellent papers on the topic is:&amp;nbsp;&lt;A href="http://www2.sas.com/proceedings/sugi26/p011-26.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi26/p011-26.pdf&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 16 Sep 2015 21:27:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/225947#M40614</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2015-09-16T21:27:24Z</dc:date>
    </item>
    <item>
      <title>Re: DDE - simple copy &amp; paste existing values?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/226033#M40641</link>
      <description>Thanks Art297.</description>
      <pubDate>Thu, 17 Sep 2015 12:14:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/DDE-simple-copy-amp-paste-existing-values/m-p/226033#M40641</guid>
      <dc:creator>RB1Kenobi</dc:creator>
      <dc:date>2015-09-17T12:14:45Z</dc:date>
    </item>
  </channel>
</rss>

