diff options
Diffstat (limited to 'helpcontent2/source/text/scalc/guide/userdefined_function.xhp')
-rw-r--r-- | helpcontent2/source/text/scalc/guide/userdefined_function.xhp | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/helpcontent2/source/text/scalc/guide/userdefined_function.xhp b/helpcontent2/source/text/scalc/guide/userdefined_function.xhp new file mode 100644 index 000000000..80d4f2525 --- /dev/null +++ b/helpcontent2/source/text/scalc/guide/userdefined_function.xhp @@ -0,0 +1,120 @@ +<?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="textscalcguideuserdefined_functionxml" indexer="include" status="PUBLISH"> +<title id="tit" xml-lang="en-US">User-Defined Functions</title> +<filename>/text/scalc/guide/userdefined_function.xhp</filename> +</topic> +<history> +<created date="2003-10-31T00:00:00">Sun Microsystems, Inc.</created> +</history> +</meta> +<body> +<bookmark xml-lang="en-US" branch="index" id="bm_id3155411"><bookmark_value>functions; user-defined</bookmark_value> +<bookmark_value>user-defined functions</bookmark_value> +<bookmark_value>Basic IDE for user-defined functions</bookmark_value> +<bookmark_value>IDE; Basic IDE</bookmark_value> +<bookmark_value>programming;functions</bookmark_value> +</bookmark> +<h1 id="hd_id3155411"><variable id="userdefined_function"><link href="text/scalc/guide/userdefined_function.xhp" name="Defining Functions Yourself">User-Defined Functions</link> +</variable></h1> +<paragraph role="paragraph" id="par_id3153969" xml-lang="en-US">You can apply user-defined functions in $[officename] Calc in the following ways:</paragraph> +<list type="unordered"> +<listitem> +<paragraph role="listitem" id="par_id3145366" xml-lang="en-US">You can define your own functions using the Basic-IDE. This method requires a basic knowledge of programming.</paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_id3153768" xml-lang="en-US">You can program functions as <link href="text/scalc/01/04060111.xhp" name="add-ins">add-ins</link>. This method requires an advanced knowledge of programming.</paragraph> +</listitem> +</list> +<h2 id="hd_id3149260">Defining A Function Using %PRODUCTNAME Basic</h2> +<list type="ordered"> +<listitem> + <paragraph role="listitem" id="par_id3148456" xml-lang="en-US">Choose <menuitem>Tools - Macros - Edit Macros</menuitem>.</paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_id3154510" xml-lang="en-US">You will now see the Basic IDE.</paragraph> +</listitem> +<listitem> +<paragraph role="paragraph" id="par_id651603905832952">In the Object Catalog window, double-click on the module where you want to store your macro.</paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_id3150327" xml-lang="en-US">Enter the function code. In this example, we define a <literal>VOL(a; b; c)</literal> function that calculates the volume of a rectangular solid with side lengths <literal>a</literal>, <literal>b</literal> and <literal>c</literal>:</paragraph> +</listitem> +</list> +<bascode> + <paragraph role="bascode" id="par_id9797426" xml-lang="en-US" localize="false">Function VOL(a, b, c)</paragraph> + <paragraph role="bascode" id="par_id781573129338912" xml-lang="en-US" localize="false"> VOL = a*b*c</paragraph> + <paragraph role="bascode" id="par_id291573129348062" xml-lang="en-US" localize="false">End Function</paragraph> +</bascode> +<list type="unordered"> +<listitem> +<paragraph role="listitem" id="par_id3155443" xml-lang="en-US">Close the Basic-IDE window.</paragraph> +<paragraph role="listitem" id="par_id3150043" xml-lang="en-US">Your function is automatically saved in the selected module and is now available. If you apply the function in a Calc document that is to be used on another computer, you can copy the function to the Calc document as described in the next section.</paragraph> +</listitem> +</list> +<h2 id="hd_id3147340">Copying a Function To a Document</h2> +<paragraph role="paragraph" id="par_id3145232" xml-lang="en-US">In stage 2 of "Defining A Function Using %PRODUCTNAME Basic", in the <emph>Macro</emph> dialog you clicked on <emph>Edit </emph>. As the default, in the <emph>Macro from</emph> field the <emph>My Macros - Standard - Module1</emph> module is selected. The <emph>Standard</emph> library resides locally in your user directory.</paragraph> +<paragraph role="paragraph" id="par_id3154022" xml-lang="en-US">If you want to copy the user-defined function to a Calc document:</paragraph> +<list type="ordered"> +<listitem> + <paragraph role="listitem" id="par_id3150304" xml-lang="en-US">Choose <menuitem>Tools - Macros - Organize Macros - Basic</menuitem>.</paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_id3150086" xml-lang="en-US">In the <emph>Macro from</emph> field select <emph>My Macros - Standard - Module1</emph> and click <emph>Edit</emph>.</paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_id3166430" xml-lang="en-US">In the Basic-IDE, select the source of your user-defined function and copy it to the clipboard.</paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_idN1081D" xml-lang="en-US">Close the Basic-IDE.</paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_id3150517" xml-lang="en-US">Choose <menuitem>Tools - Macros - Organize Macros - Basic</menuitem> .</paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_id3145384" xml-lang="en-US">In the <emph>Macro from</emph> field select <emph>(Name of the Calc document) - Standard - Module1</emph>. Click <emph>Edit</emph>.</paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_id3148699" xml-lang="en-US">Paste the clipboard contents in the Basic-IDE of the document.</paragraph> +</listitem> +</list> +<h2 id="hd_id3153305">Applying a User-defined Function in $[officename] Calc</h2> +<paragraph role="paragraph" id="par_id3148869" xml-lang="en-US">Once you have defined the function <literal>VOL(a; b; c)</literal> in the Basic-IDE, you can apply it the same way as the built-in functions of $[officename] Calc.</paragraph> +<list type="ordered"> +<listitem> +<paragraph role="listitem" id="par_id3148606" xml-lang="en-US">Open a Calc document and enter numbers for the function parameters <literal>a</literal>, <literal>b</literal> and <literal>c</literal> in cells A1, B1, and C1.</paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_id3156019" xml-lang="en-US">Set the cursor in another cell and enter the following:</paragraph> +<paragraph role="paragraph" localize="false" id="par_id3155264" xml-lang="en-US"><input>=VOL(A1;B1;C1)</input></paragraph> +</listitem> +<listitem> +<paragraph role="listitem" id="par_id3146776" xml-lang="en-US">The function is evaluated and you will see the result in the selected cell.</paragraph> +</listitem> +</list> +<section id="relatedtopics"> +<embed href="text/scalc/guide/calculate.xhp#calculate"/> +<embed href="text/scalc/guide/formula_enter.xhp#formula_enter"/> +<embed href="text/sbasic/guide/basic_2_python.xhp#basic2python"/> +</section> +</body> +</helpdocument> |