Hi ,
I have a TI which calls a vb script to send some email .
ExecuteCommand('Cscript.exe D:\VBS\EmailScripts\SendLeaseApprovalRequest.vbs "Lease Approval Request" "Please review the lease that has been submitted" "ABC" "leaseApprover" LeaseIDString ',0);
I have a LeaseIdString which has a value like "98" which is a variable value in ti .
I tried passing the variable name but the output is passing the value itsself as "LeaseIDString"
Thanks,
How to pass a variable value to a execute command vbs .
-
- MVP
- Posts: 3239
- Joined: Mon Dec 29, 2008 6:26 pm
- OLAP Product: TM1, Jedox
- Version: PAL 2.1.5
- Excel Version: Microsoft 365
- Location: Brussels, Belgium
- Contact:
Re: How to pass a variable value to a execute command vbs .
Assuming your syntax works otherwise:
Code: Select all
ExecuteCommand('Cscript.exe D:\VBS\EmailScripts\SendLeaseApprovalRequest.vbs "Lease Approval Request" "Please review the lease that has been submitted" "ABC" "leaseApprover" ' | NumberToString( LeaseIDString), 0);
Best regards,
Wim Gielis
IBM Champion 2024-2025
Excel Most Valuable Professional, 2011-2014
https://www.wimgielis.com ==> 121 TM1 articles and a lot of custom code
Newest blog article: Deleting elements quickly
Wim Gielis
IBM Champion 2024-2025
Excel Most Valuable Professional, 2011-2014
https://www.wimgielis.com ==> 121 TM1 articles and a lot of custom code
Newest blog article: Deleting elements quickly
-
- Posts: 124
- Joined: Wed Nov 26, 2014 8:32 pm
- OLAP Product: IBM TM1, Planning Analytics
- Version: PA 2.0.5
- Excel Version: 2016
Re: How to pass a variable value to a execute command vbs .
HI Wim,
Sorry to ask you again
I had to modify this to now include a string variable in between and it errors out and i am unable to identify the syntax .
pLeaseSubmitter is a ti string variable .
Execute command(' ',0); I dont know how to pass the pLeaseSubmitter.
ExecuteCommand('Cscript.exe D:\VBS\EmailScripts\SendLeaseApprovalRequest.vbs "Lease Approval Request" "Please review the lease that has been submitted for Approval" pLeaseSubmitter "leaseApprover" ' | NumberToString(CurrentLeaseId), 0);
Sorry to ask you again
I had to modify this to now include a string variable in between and it errors out and i am unable to identify the syntax .
pLeaseSubmitter is a ti string variable .
Execute command(' ',0); I dont know how to pass the pLeaseSubmitter.
ExecuteCommand('Cscript.exe D:\VBS\EmailScripts\SendLeaseApprovalRequest.vbs "Lease Approval Request" "Please review the lease that has been submitted for Approval" pLeaseSubmitter "leaseApprover" ' | NumberToString(CurrentLeaseId), 0);
-
- MVP
- Posts: 3704
- Joined: Fri Mar 13, 2009 11:14 am
- OLAP Product: TableManager1
- Version: PA 2.0.x
- Excel Version: Office 365
- Location: Switzerland
Re: How to pass a variable value to a execute command vbs .
Seriously! You did join this forum over 5 years ago. Even if you are just clicking buttons and paying not much attention that is quite a lot of time to learn SOMETHING.
You do know what ExcecuteCommand is doing? You know that you can always AsciiOutput the same string to a text file and then paste it into a cmd window manually to debug what you are doing?? It is pretty obvious you are passing pLeaseSubmitter within single quotes so you are passing the string of the parameter name not the parameter value. That should be more than enough of a hint.
You do know what ExcecuteCommand is doing? You know that you can always AsciiOutput the same string to a text file and then paste it into a cmd window manually to debug what you are doing?? It is pretty obvious you are passing pLeaseSubmitter within single quotes so you are passing the string of the parameter name not the parameter value. That should be more than enough of a hint.
Please place all requests for help in a public thread. I will not answer PMs requesting assistance.
-
- Posts: 124
- Joined: Wed Nov 26, 2014 8:32 pm
- OLAP Product: IBM TM1, Planning Analytics
- Version: PA 2.0.5
- Excel Version: 2016
Re: How to pass a variable value to a execute command vbs .
Hi ,
Thanks for yor suggestion. I know what Asciioutput does and it accepts only string .
In the above case with executecommand where it has 2 parameters the commandline and wait argument. I was not sure what commandline format should be sent in tm1, looks like its a string with vbs script location and if any parameters that are seperated by space and the whole single quote with script location and parameter was confusing .
I defintely know having a tm1 variable inside a single quote will consider that as a string ,but in this case i was little confused with the other paramerers and script location.
I should have spent little time and tried .I did try this again and got it working .
ExecuteCommand('Cscript.exe D:\VBS\EmailScripts\SendLeaseApprovalRequest.vbs "Lease Approval Request" "Please review the lease that has been submitted for Approval" ' |pLeaseSubmitter |' LeaseApprover ' | NumberToString(CurrentLeaseId), 0);
The above one is working , now the only issue is the pLeaseSubmitter ,if this has a value which includes a space in the variable value , then my arguments that goes to the script changes , so should i still have something like expand function which would encapsulate the value of my pLeaseSubmitter with in double quotes.
Thanks,
Thanks for yor suggestion. I know what Asciioutput does and it accepts only string .
In the above case with executecommand where it has 2 parameters the commandline and wait argument. I was not sure what commandline format should be sent in tm1, looks like its a string with vbs script location and if any parameters that are seperated by space and the whole single quote with script location and parameter was confusing .
I defintely know having a tm1 variable inside a single quote will consider that as a string ,but in this case i was little confused with the other paramerers and script location.
I should have spent little time and tried .I did try this again and got it working .
ExecuteCommand('Cscript.exe D:\VBS\EmailScripts\SendLeaseApprovalRequest.vbs "Lease Approval Request" "Please review the lease that has been submitted for Approval" ' |pLeaseSubmitter |' LeaseApprover ' | NumberToString(CurrentLeaseId), 0);
The above one is working , now the only issue is the pLeaseSubmitter ,if this has a value which includes a space in the variable value , then my arguments that goes to the script changes , so should i still have something like expand function which would encapsulate the value of my pLeaseSubmitter with in double quotes.
Thanks,
-
- MVP
- Posts: 3704
- Joined: Fri Mar 13, 2009 11:14 am
- OLAP Product: TableManager1
- Version: PA 2.0.x
- Excel Version: Office 365
- Location: Switzerland
Re: How to pass a variable value to a execute command vbs .
You say you know what you are doing, yet it doesn't sound like you do.manu0521 wrote: ↑Wed Apr 15, 2020 2:23 am The above one is working , now the only issue is the pLeaseSubmitter ,if this has a value which includes a space in the variable value , then my arguments that goes to the script changes , so should i still have something like expand function which would encapsulate the value of my pLeaseSubmitter with in double quotes.

Just include extra double-quotes within the literal string portion of building the command line!
... submitted for Approval" "' |pLeaseSubmitter |'" LeaseApprover ...
Please place all requests for help in a public thread. I will not answer PMs requesting assistance.