| T O P I C    R E V I E W | 
              
                | dekos | Posted - 07/22/2021 : 09:18:09 AM Origin Ver. and Service Release (Select Help-->About Origin): 2021b
 Operating System: Win10
 
 Hello.
 When importing my files I come to a step where I have to combine every sheet in the specific workbook. Problem is, I don't find a way to say "combine all", i.d. the whole workbook.
 Is there a way to do it in command line? Right now I use this command and always change the number of sheets (eg. 5 sheets):
 
 wAppend irng:=[<active>](1,2,3,4,5) method:=column ow:=[<new>]<new>; Thanks!
 | 
              
                | 8   L A T E S T    R E P L I E S    (Newest First) | 
              
                | snowli | Posted - 11/24/2021 : 09:39:20 AM Hi Dekos,
 
 Just FYI that in Origin 2022 we just released, we support
 wAppend irng:=[book1] method:=column ow:=[<new>]<new> -r 2;
 
 If only specifying the book name, it will use all sheets in book1.
 
 Some limitations still:
 1. [<active>] not supported
 2. No recalculation support. E.g. if u add a new sheet, it will not update the output to include new sheet.
 
 
 Thanks, Snow
 
 | 
              
                | minimax | Posted - 07/26/2021 : 9:28:34 PM Hi dekos,
 
 It is not easy to support [<active>](1:0)!
 
 We suggest you either skip it as Snow mentioned, or pre-defined the book name like [myBook$](1:0)!
 
 You do not need to activate that book if you have specified the name in the range string.
 | 
              
                | snowli | Posted - 07/26/2021 : 12:51:25 PM If the workbook is active window, you don't need to have book part in input.
 
 E.g. If only specifying the sheet part, it will use active book.
 wAppend irng:=(1:0)! method:=column ow:=[<new>]<new>;
 
 Thanks, Snow
 | 
              
                | dekos | Posted - 07/26/2021 : 11:23:45 AM 
 quote:Originally posted by minimax
 
 You can also use (1:0)! in wappend script like
 
 //It is a good habit to add exclamation mark ! at the end to explicitly indicate it is a sheet range
wappend -r 2 irng:=[srcbook$](1:0)! method:=column ow:=[<new>]<new>; 
 But note that (1:0)! is not dynamic, it is parsed as the specific fixed number of sheets at the moment when it is executed.
 Therefore, you will need to use XF op_change to re-update it if number of sheets change after wAppend is run.
 
 
 
 
 Hi, thanks for your help. I can actually use it, but not with the "active" reference (what I don't understand).
 I rename the workbook, use wAppend (creating a new workbook), and delete the renamed workbook.
 
 Not working:
 
 wAppend irng:=[<active>](1:0)! method:=column ow:=[<new>]<new>; Working:
 
 win -r %H XYtobedeleted%H;
wAppend irng:=[XYtobedeleted](1:0)! method:=column ow:=[<new>]<new>;
win -c XYtobedeleted; Not a beautiful piece of code, but it does the job XD
 | 
              
                | dekos | Posted - 07/26/2021 : 10:50:31 AM 
 quote:
 Could you let me know what import tool did u use to import?
 Suppose you are importing ascii files, if u choose Data: Import from Files: Multiple ASCII...
 There is Import Options -> Multi-File (except 1st file) Import Mode. There are Start New Columns and Start New Rows options to append all data column wise or row wise in same sheet.
 
 
 
 Import Wizard --> Multiple ASCII.
 Import 3 columns from each file to one sheet and unstack 1 and 2 into groups defined by 3 (this is why i have to use "start new sheets"). In the end, bring all columns together in one sheet.
 | 
              
                | minimax | Posted - 07/23/2021 : 02:38:46 AM Hi,
 
 You may try if following script works.
 
 
 
# ...;
# import scripts and number of sheet changes;
# ...;
string srcbook$="Book1";  //Input book name which contains import data sheets
string desbook$="Book2";  //Output book name of wAppend 
//use XF op_change to update the input range to re-include all sheets
op_change ir:=[desbook$]1!1 tr:=abc op:=get;
abc.xfGetN.irng$=[srcbook$](1:0)!;    //(1:0)! refers to all sheets in the book
op_change ir:=[desbook$]1!1 tr:=abc op:=run;
 
 You can also use (1:0)! in wappend script like
 
 //It is a good habit to add exclamation mark ! at the end to explicitly indicate it is a sheet range
wappend -r 2 irng:=[srcbook$](1:0)! method:=column ow:=[<new>]<new>; 
 But note that (1:0)! is not dynamic, it is parsed as the specific fixed number of sheets at the moment when it is executed.
 Therefore, you will need to use XF op_change to re-update it if number of sheets change after wAppend is run.
 
 
 Max
 OriginLab Technical Support
 | 
              
                | minimax | Posted - 07/22/2021 : 11:24:09 PM Hi dekos,
 
 What is your whole script process?
 
 i.e. do you use script to import files?
 after worksheet is appended, what script is run after it?
 
 Do you plan to create a brand-new output of wappend every time after a new import?
 Or you would expect to auto update the existing output when import data(number of sheets) changes?
 
 
 
 
 Max
 OriginLab Technical Support
 | 
              
                | snowli | Posted - 07/22/2021 : 11:20:12 AM Hello,
 Thanks for reporting this. I jiraed this in browse/ORG-24015
 for our developer to check.
 
 We support dynamic ending with 0, e.g. 1:0 means from 1st to last in column, rows, and worksheet in some places but not in wAppend.
 
 
 Could you let me know what import tool did u use to import?
 Suppose you are importing ascii files, if u choose Data: Import from Files: Multiple ASCII...
 There is Import Options -> Multi-File (except 1st file) Import Mode. There are Start New Columns and Start New Rows options to append all data column wise or row wise in same sheet.
 
 Thanks, Snow
 |