The Origin Forum
File Exchange
Try Origin for Free
The Origin Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ | Send File to Tech support
 All Forums
 Origin Forum for Programming
 LabTalk Forum
 Automating copy-paste

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

Screensize:
UserName:
Password:
Anti-Spam Code:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkUpload FileInsert Image Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
parrymi Posted - 01/17/2006 : 07:43:37 AM
Origin Version (Select Help-->About Origin): 7.5
Operating System: XP
Hi,

a newbie question about scripting. I would need a simple script to organize my output from an instrument with 1-4 channels. So what i have is n worksheets which are of the type
chan1 chan2 chan3
12 34 56
XY XY XY.

What I'd like to do is to extract the Y columns of these worksheets to new worksheets so I'd basically have an X-column which is the same for all the Y's and the Y's from every channel extracted from the output files.

chan1
X Y1 Y2 Y3 Y4 ... Yn

chan2
X Y1 Y2 Y3 Y4 ... Yn etc. that is.

Thanks in advance, Mikko
5   L A T E S T    R E P L I E S    (Newest First)
parrymi Posted - 01/18/2006 : 1:18:13 PM
Hi,

did it finally myself. This is what I came up with:

%W=%H; // name of active wks
addcolu=-1;
doc -e W
{
addcolu=addcolu+1;
};
win -t D Origin Sample1; // create Sample1 wks
worksheet -a addcolu;
win -t D Origin Sample2; // create Sample2 wks
worksheet -a addcolu;
win -t D Origin Sample3; // create Sample3 wks
worksheet -a addcolu;
copy %W_A Sample1_A; // copy X col to Sample1
copy %W_C Sample2_A; // copy X col to Sample2
copy %W_E Sample3_A; // copy X col to Sample3
coln=2;
doc -e W
{
if("%[%H,7]"!="Sample")
{
copy col(B) %(Sample1, coln);
copy col(D) %(Sample2, coln);
copy col(F) %(Sample3, coln);
type %h;
coln=coln+1;
};
};


Thanks for your help!

Mikko
parrymi Posted - 01/18/2006 : 09:55:09 AM
Thanks for the answer!
There is however still a problem. The script as is always overwrites col(B) in the Channel windows. I'd like to append the columns to the end of the document and don't seem to know how to

Cheers, Mikko
Mike Buess Posted - 01/18/2006 : 08:10:10 AM
Hi Mikko,

This combines all worksheets in the project...

%W=%H; // name of active wks
win -t D Origin Channel1; // create channel1 wks
win -t D Origin Channel2; // create channel2 wks
win -t D Origin Channel3; // create channel3 wks
copy %W_A Channel1_A; // copy X col to Channel1
copy %W_C Channel2_A; // copy X col to Channel2
copy %W_E Channel3_A; // copy X col to Channel3
doc -e W // loop through all worksheets
{
if("%[%H,8]"!="Channel")
{
copy col(B) Channel1_B;
copy col(D) Channel2_B;
copy col(F) Channel3_B;
};
};

Mike Buess
Origin WebRing Member
parrymi Posted - 01/18/2006 : 03:55:23 AM
Hi,
I put my words in a slightly confusing manner. So i've got n worksheets each of which contains data for all channels.

chan1 chan2 chan3
AB CD EF
XY XY XY

That is columns a and b contain the data for channel one c and d for 2 etc. All the X columns contain the same values that is wavelength, so they only need to be copied once.
So basically I'd like to take the A and B columns from the first worksheet and the b column from the second to the nth column in one worksheet, the C and D columns from the first worksheet and the D columns of the rest of the worksheets in a separate worksheet etc. until I get 4 worksheets with a common X axis and the corresponding Y's.

Hope this clears things a bit.
Thanks, Mikko
Mike Buess Posted - 01/17/2006 : 4:18:27 PM
Hi Mikko,

It shouldn't be hard to combine your data but please describe the problem a little more precisely. You have several XY worksheets for each channel... 12 worksheets for chan1, 34 for chan2, 56 for chan3? How do you distinguish one channel from another? That is, how do you know that worksheet Data1 contains channel 1 (or 2 or 3) data? You must have some way of knowing which worksheets to combine.

Mike Buess
Origin WebRing Member

The Origin Forum © 2020 Originlab Corporation Go To Top Of Page
Snitz Forums 2000