1 <?xml version=
"1.0" encoding=
"UTF-8"?>
6 ***********************************************************************
8 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
10 * Copyright 2008 by Sun Microsystems, Inc.
12 * OpenOffice.org - a multi-platform office productivity suite
14 * $RCSfile: 03090101.xhp,v $
17 * This file is part of OpenOffice.org.
19 * OpenOffice.org is free software: you can redistribute it and/or modify
20 * it under the terms of the GNU Lesser General Public License version 3
21 * only, as published by the Free Software Foundation.
23 * OpenOffice.org is distributed in the hope that it will be useful,
24 * but WITHOUT ANY WARRANTY; without even the implied warranty of
25 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
26 * GNU Lesser General Public License version 3 for more details
27 * (a copy is included in the LICENSE file that accompanied this code).
29 * You should have received a copy of the GNU Lesser General Public License
30 * version 3 along with OpenOffice.org. If not, see
31 * <http://www.openoffice.org/license.html>
32 * for a copy of the LGPLv3 License.
34 ************************************************************************
38 <helpdocument version=
"1.0">
40 <topic id=
"textsbasicshared03090101xml" indexer=
"include" status=
"PUBLISH">
41 <title id=
"tit" xml-lang=
"en-US">If...Then...Else Statement [Runtime]
</title>
42 <filename>/text/sbasic/shared/
03090101.xhp
</filename>
46 <section id=
"ifthenelse">
47 <bookmark xml-lang=
"en-US" branch=
"index" id=
"bm_id3154422"><bookmark_value>If statement
</bookmark_value>
49 <paragraph role=
"heading" id=
"hd_id3154422" xml-lang=
"en-US" level=
"1" l10n=
"U" oldref=
"1"><link href=
"text/sbasic/shared/03090101.xhp" name=
"If...Then...Else Statement [Runtime]">If...Then...Else Statement [Runtime]
</link></paragraph>
50 <paragraph role=
"paragraph" id=
"par_id3155555" xml-lang=
"en-US" l10n=
"U" oldref=
"2">Defines one or more statement blocks that you only want to execute if a given condition is True.
</paragraph>
52 <paragraph role=
"heading" id=
"hd_id3146957" xml-lang=
"en-US" level=
"2" l10n=
"U" oldref=
"3">Syntax:
</paragraph>
53 <paragraph role=
"paragraph" id=
"par_id3153126" xml-lang=
"en-US" l10n=
"CHG" oldref=
"4">If condition=true Then Statement block [ElseIf condition=true Then] Statement block [Else] Statement block EndIf
<br/>Instead of Else If you can write ElseIf, instead of End If you can write EndIf.
</paragraph>
54 <paragraph role=
"heading" id=
"hd_id3155419" xml-lang=
"en-US" level=
"2" l10n=
"U" oldref=
"5">Parameters:
</paragraph>
55 <paragraph role=
"paragraph" id=
"par_id3153062" xml-lang=
"en-US" l10n=
"U" oldref=
"6">The
<emph>If...Then
</emph> statement executes program blocks depending on given conditions. When $[officename] Basic encounters an
<emph>If
</emph> statement, the condition is tested. If the condition is True, all subsequent statements up to the next
<emph>Else
</emph> or
<emph>ElseIf
</emph> statement are executed. If the condition is False, and an
<emph>ElseIf
</emph> statement follows, $[officename] Basic tests the next condition and executes the following statements if the condition is True. If False, the program continues either with the next
<emph>ElseIf
</emph> or
<emph>Else
</emph> statement. Statements following
<emph>Else
</emph> are executed only if none of the previously tested conditions were True. After all conditions are evaluated, and the corresponding statements executed, the program continues with the statement following
<emph>EndIf
</emph>.
</paragraph>
56 <paragraph role=
"paragraph" id=
"par_id3153192" xml-lang=
"en-US" l10n=
"U" oldref=
"7">You can nest multiple
<emph>If...Then
</emph> statements.
</paragraph>
57 <paragraph role=
"paragraph" id=
"par_id3154684" xml-lang=
"en-US" l10n=
"U" oldref=
"8">
58 <emph>Else
</emph> and
<emph>ElseIf
</emph> statements are optional.
</paragraph>
59 <paragraph role=
"warning" id=
"par_id3152939" xml-lang=
"en-US" l10n=
"U" oldref=
"9">You can use
<emph>GoTo
</emph> and
<emph>GoSub
</emph> to jump out of an
<emph>If...Then
</emph> block, but not to jump into an
<emph>If...Then
</emph> structure.
</paragraph>
60 <paragraph role=
"paragraph" id=
"par_id3153951" xml-lang=
"en-US" l10n=
"U" oldref=
"10">The following example enables you to enter the expiration date of a product, and determines if the expiration date has passed.
</paragraph>
61 <paragraph role=
"heading" id=
"hd_id3152576" xml-lang=
"en-US" level=
"2" l10n=
"U" oldref=
"11">Example:
</paragraph>
62 <paragraph role=
"paragraph" id=
"par_id3150011" xml-lang=
"en-US" l10n=
"U" oldref=
"12">Sub ExampleIfThenDate
</paragraph>
63 <paragraph role=
"paragraph" id=
"par_id3148645" xml-lang=
"en-US" l10n=
"U" oldref=
"13">Dim sDate as String
</paragraph>
64 <paragraph role=
"paragraph" id=
"par_id3155855" xml-lang=
"en-US" l10n=
"U" oldref=
"14">Dim sToday as String
</paragraph>
65 <paragraph role=
"paragraph" id=
"par_id3154490" xml-lang=
"en-US" l10n=
"U" oldref=
"16">sDate = InputBox(
"Enter the expiration date (MM.DD.YYYY)")
</paragraph>
66 <paragraph role=
"paragraph" id=
"par_id3154943" xml-lang=
"en-US" l10n=
"U" oldref=
"17">sDate = Right$(sDate,
4) + Mid$(sDate,
4,
2) + Left$(sDate,
2)
</paragraph>
67 <paragraph role=
"paragraph" id=
"par_id3154098" xml-lang=
"en-US" l10n=
"U" oldref=
"18">sToday = Date$
</paragraph>
68 <paragraph role=
"paragraph" id=
"par_id3144765" xml-lang=
"en-US" l10n=
"U" oldref=
"19">sToday = Right$(sToday,
4)+ Mid$(sToday,
4,
2) + Left$(sToday,
2)
</paragraph>
69 <paragraph role=
"paragraph" id=
"par_id3154792" xml-lang=
"en-US" l10n=
"U" oldref=
"20">If sDate
< sToday Then
</paragraph>
70 <paragraph role=
"paragraph" id=
"par_id3155601" xml-lang=
"en-US" l10n=
"U" oldref=
"21">MsgBox
"The expiration date has passed"</paragraph>
71 <paragraph role=
"paragraph" id=
"par_id3146972" xml-lang=
"en-US" l10n=
"U" oldref=
"22">ElseIf sDate
> sToday Then
</paragraph>
72 <paragraph role=
"paragraph" id=
"par_id3146912" xml-lang=
"en-US" l10n=
"U" oldref=
"23">MsgBox
"The expiration date has not yet passed"</paragraph>
73 <paragraph role=
"paragraph" id=
"par_id3153710" xml-lang=
"en-US" l10n=
"U" oldref=
"24">Else
</paragraph>
74 <paragraph role=
"paragraph" id=
"par_id3154754" xml-lang=
"en-US" l10n=
"U" oldref=
"25">MsgBox
"The expiration date is today"</paragraph>
75 <paragraph role=
"paragraph" id=
"par_id3154361" xml-lang=
"en-US" l10n=
"U" oldref=
"26">End If
</paragraph>
76 <paragraph role=
"paragraph" id=
"par_id3148405" xml-lang=
"en-US" l10n=
"U" oldref=
"28">End Sub
</paragraph>