<?xml version="1.0" encoding="UTF-8"?> <helpdocument version="1.0"> <!-- * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . --> <meta> <topic id="textsbasicshared03090402xml" indexer="include" status="PUBLISH"> <title id="tit" xml-lang="en-US">Choose Function</title> <filename>/text/sbasic/shared/03090402.xhp</filename> </topic> </meta> <body> <section id="choose"> <bookmark xml-lang="en-US" branch="index" id="bm_id3143271"> <bookmark_value>Choose function</bookmark_value> </bookmark> <h1 id="hd_id3143271" xml-lang="en-US"><variable id="Choose_h1"><link href="text/sbasic/shared/03090402.xhp">Choose Function</link></variable></h1> <paragraph id="par_id3149234" role="paragraph" xml-lang="en-US">Returns a selected value from a list of arguments.</paragraph> </section> <embed href="text/sbasic/shared/00000003.xhp#functsyntax"/> <bascode> <paragraph id="par_id3147560" role="bascode" localize="false">Choose (Index As Integer, Expression1[, Expression2, ... [, Expression_n]]) As Variant</paragraph> </bascode> <embed href="text/sbasic/shared/00000003.xhp#functvalue"/> <paragraph role="paragraph" id="par_id131649410695924">Variant. A value inferred from the <literal>Index</literal> parameter.</paragraph> <embed href="text/sbasic/shared/00000003.xhp#functparameters"/> <paragraph id="par_id3148664" role="paragraph" xml-lang="en-US"> <emph>Index</emph>: Any numeric expression rounded to a whole number. <literal>Index</literal> accepts integer values starting at 1 that specify which of the possible choices to return.</paragraph> <paragraph id="par_id3150791" role="paragraph" xml-lang="en-US"> <emph>Expression1, Expression2, …, Expression_n</emph>: Expressions representing each of the possible choices.</paragraph> <paragraph id="par_id3151043" role="paragraph" xml-lang="en-US">The <emph>Choose</emph> function returns a value from the list of expressions based on the index value. If <emph>Index = 1</emph>, the function returns the first expression in the list, if <emph>Index = 2</emph>, it returns the second expression, and so on.</paragraph> <paragraph id="par_id3153192" role="paragraph" xml-lang="en-US">If the index value is less than 1 or greater than the number of expressions listed, the function returns a <literal>Null</literal> value.</paragraph> <paragraph role="paragraph" id="par_id911649410528836">Error #5 occurs when parameters are omitted. Error #13 occurs if <literal>Index</literal> equals <literal>Null</literal>. <comment> If expressions are omitted - e.g. Choose(5) - or Index=Null, Basic runtime raises error #13. If the chosen expression is not defined -e.g. Choose(2,"a",,45) - "Error 448" is returned !!.</comment></paragraph> <embed href="text/sbasic/shared/00000003.xhp#errorcode"/> <embed href="text/sbasic/shared/00000003.xhp#err5"/> <embed href="text/sbasic/shared/00000003.xhp#err13"/> <embed href="text/sbasic/shared/00000003.xhp#functexample"/> <paragraph id="par_id3156281" role="paragraph" xml-lang="en-US">The following example uses the or <literal>Choose</literal> function to select a string from several strings that form a menu:</paragraph> <bascode> <paragraph id="par_idm871799424" role="bascode" localize="false">Sub ExampleChoose</paragraph> <paragraph id="par_idm871795712" role="bascode" xml-lang="en-US"> Print ChooseMenu(2) ' "Save Format"</paragraph> <paragraph role="bascode" id="bas_id101649409956174" localize="false"> MsgBox Choose(index := -5, 9, "Basic", PI) ' Null</paragraph> <paragraph role="bascode" id="bas_id291649409956630" localize="false"> MsgBox Choose(index := 3.14, 9, "Basic", PI) ' PI</paragraph> <paragraph id="par_idm871794480" role="bascode" localize="false">End Sub</paragraph> <paragraph id="par_idm871793248" role="bascode" localize="false"> </paragraph> <paragraph id="par_idm871792000" role="bascode" localize="false">Function ChooseMenu(Index As Integer)</paragraph> <paragraph id="par_id3156443" role="bascode" xml-lang="en-US"> ChooseMenu = Choose(Index, "Quick Format", "Save Format", "System Format")</paragraph> <paragraph id="par_idm871788976" role="bascode" localize="false">End Function</paragraph> </bascode> <section id="relatedtopics"> <embed href="text/sbasic/shared/03090102.xhp#Select_h1"/> <embed href="text/sbasic/shared/03090410.xhp#Switch_h1"/> </section> </body> </helpdocument>