<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    so true

    心懷未來,開創(chuàng)未來!
    隨筆 - 160, 文章 - 0, 評論 - 40, 引用 - 0
    數(shù)據(jù)加載中……

    [改編]VB基本語法學(xué)習(xí)

    1 常量與變量

    1.1 VB的數(shù)據(jù)類型

    數(shù)據(jù)類型是數(shù)據(jù)的表示和存儲形式。VB定義的基本數(shù)據(jù)類型如表5-1所示。

    5-1  VB的基本數(shù)據(jù)類型

    數(shù)據(jù)類型

    類型描述

    類型說明后綴

    數(shù)據(jù)范圍

    所占字節(jié)數(shù)

    Integer

    整型

    %

    -32768~32767

    2

    Long

    長整型

    &

    -2147483648~2147483647

    4

    Single

    單精度浮點型

    !

    -3.402823E38~-1.401298E-45

    1.401298E-45~3.402823E38

    4

    Double

    雙精度浮點型

    #

    -1.79769313486232E308~-4.9406564584124E324

    4.9406564584124E324~1.79769313486232E308

    8

    Currency

    貨幣型

    @

     

    8

    String

    字符串型

    $

     

    每字符占一字節(jié)

    Byte

    字節(jié)型

     

    0~255

    1

    Boolean

    布爾數(shù)據(jù)型

     

    -1True)、(False

     

    Date

    日期型

     

     

     

    Object

    對象型

     

     

    4

    Variant

    變體

    為上述任一種

     

     

    Integer(整型)、Long(長整型)、Single(單精度浮點型)、Double(雙精度長整型)及Currency(貨幣型)均為Numeric數(shù)據(jù)類型。其中整型是16位的整數(shù),長整型是32位的整數(shù)。單精度及雙精度浮點型就表示實數(shù),常被用于數(shù)量較大的數(shù)字。Currency數(shù)據(jù)類型支持小數(shù)點右面15位,是定點數(shù)據(jù)類型,適用于貨幣計算。

    String(字符串變量)的數(shù)據(jù)類型只存放文本,是一個字符序列,它的每一個字符用ASCII編碼表示。不包含任何字符的串稱為空串。

    Byte數(shù)據(jù)類型表示0255之間的數(shù),常用于訪問二進制文件、圖形和聲音文件

    等。當需要把數(shù)據(jù)存放成字節(jié),必須訪問各字節(jié)時可采用Byte類型。

    取值僅為True/False的類型稱為Boolean(布爾)型,缺省值為False

    Date數(shù)據(jù)類型用于以特殊方式存放日期和時間。

    Object變量可引用應(yīng)用程序中或某些其他應(yīng)用程序中的對象。

    VB缺省規(guī)定,如果在生命中沒有說明數(shù)據(jù)類型,則變量的數(shù)據(jù)類型為Variant(變體)。Variant數(shù)據(jù)類型還包含三種特定值:EmptyNullErrorEmpty值用于確定是否已將一個值賦予所創(chuàng)建的變量。賦值之前,Variant變量具有值Empty

    Null常用于數(shù)據(jù)庫應(yīng)用程序,表示未知或丟失為空的數(shù)據(jù)。

    Error值是指已發(fā)出的過程中的錯誤狀態(tài)。

    Variant數(shù)據(jù)類型是最為靈活的數(shù)據(jù)類型,可以依據(jù)不同的需要進行各種數(shù)據(jù)類型的轉(zhuǎn)換。它實際上包含兩部分信息,一部分是數(shù)據(jù)類型的信息,一部分是表示數(shù)據(jù)值的信息。但正是由于它的靈活性,又使得它存在著一個明顯的缺點,Variant數(shù)據(jù)類型比其他類型的數(shù)據(jù)占有更多的內(nèi)存空間。

    2  數(shù)組

    VB中數(shù)組的定義類似于變量定義,所不同的是數(shù)組需要指定數(shù)組中的元素個數(shù),例如:

    Dim Array(9) As Integer

    數(shù)組中包含10個元素,腳標從09

    也可以指定腳標的起始值,例如:

    Dim IntegerArray(2 to 10) As Integer

    這個數(shù)組含有九個元素,腳標從210

    還可以定義多維數(shù)組:

    Dim ThreeD(4,2 to 5,3 to 6) As Integer

    定義一個三維數(shù)組(4×4×4)。

    數(shù)組
    數(shù)組是一組擁有相同名稱同類元素。定義數(shù)組后,即創(chuàng)建了數(shù)組。數(shù)組中單個的數(shù)據(jù)項稱為數(shù)組元素,用于訪問數(shù)組元素的編號稱為數(shù)組索引號,最小索引號和最大索引號稱為邊界。
    在VBA中,根據(jù)數(shù)組元素是否變化,分為固定大小的數(shù)組和動態(tài)數(shù)組,根據(jù)數(shù)組的維數(shù)又可分為一維數(shù)組和多維數(shù)組。
    1、創(chuàng)建數(shù)組
    用Dim語句來定義固定大小的數(shù)組,即聲明一個數(shù)組。如
    Dim myArray(9) As Integer
    上面的代碼創(chuàng)建一個名為myArray含有10個數(shù)組元素的一維數(shù)組。注意,所有VBA數(shù)組的下界均從0開始,因此上面的代碼所創(chuàng)建的數(shù)組元素從myArray(0)到myArray(9)。
    在Dim語句中不指明數(shù)組元素的個數(shù)來聲明動態(tài)數(shù)組,如
    Dim myDynamicArray() As Integer
    使用ReDim關(guān)鍵字重新定義數(shù)組的大小:
    ReDim myDynamicArray(10)
    也可以用ReDim關(guān)鍵字同時聲明一個動態(tài)數(shù)組并指定該數(shù)組的元素個數(shù):
    ReDim myDynamicArray(5) As Integer
    VBA沒有限制重新定義動態(tài)數(shù)組大小的次數(shù),但在重新定義數(shù)組大小時,原有的數(shù)組數(shù)據(jù)就會丟失。如果需要保留原來的數(shù)據(jù),可以使用Preserve關(guān)鍵字:
    ReDim Preserve myDynamicArray(5)
    需要注意的是,如果重新定義數(shù)組時減小了數(shù)組的大小,則會丟失被縮減了的那部分元素的數(shù)據(jù)。
    當然,與聲明變量一樣,也可以用Public語句聲明公共數(shù)組。
    2、確定數(shù)組的邊界
    可以使用UBound函數(shù)和LBound函數(shù)分別獲取數(shù)組的最大邊界和最小邊界。
    默認情況下,VBA的數(shù)組的下界是從0開始的,可以在模塊的聲明部分使用Option Base語句來改變模塊中數(shù)組的起始邊界。如
    Option Base 1
    該語句使數(shù)組元素的索引號從1開始。
    也可以在定義數(shù)組時指定數(shù)組的上界和下界,如
    Dim <數(shù)組名> (<下界> to <上界>) As <數(shù)據(jù)類型>
    3、多維數(shù)組
    多維數(shù)組可以在每個數(shù)組元素中存儲一組數(shù)據(jù),因此,多維數(shù)組的每個數(shù)組元素都包含一個數(shù)組。與一維數(shù)組相同,可以使用下面的兩種方法創(chuàng)建多維數(shù)組:
    (1)Dim <數(shù)組名> (<數(shù)組元素數(shù)1>,<數(shù)組元素數(shù)2>,……) As <數(shù)據(jù)類型>
    (2)Dim <數(shù)組名>(<下界> to <上界>,<下界> to <上界>,……) As <數(shù)據(jù)類型>
    與一維數(shù)組相似,多維數(shù)組也可以是動態(tài)的。
    4、引用數(shù)組中的元素
    可以使用數(shù)組名稱和一個索引號來引用數(shù)組中的某個特定的元素。
    變量與常量:

     

    1)VB允許使用未定義的變量,默認是變體變量Variant。

     

    2)在模塊通用說明部份,加入 Option Explicit 語句可以強迫用戶進行變量定義。

     

    3)變量定義語句及變量作用域

    Dim          變量 as 類型   '定義為局部變量,如 Dim  xyz as integer
    Private      變量 as 類型   '定義為私有變量,如 Private xyz as byte
    Public       變量 as 類型   '定義為公有變量,如 Public  xyz as single
    Global       變量 as 類型   '定義為全局變量,如 Globlal xyz as date
    Static       變量 as 類型   '定義為靜態(tài)變量,如 Static  xyz as double
    

    一般變量作用域的原則是,那部份定義就在那部份起作用,模塊中定義則在該模塊那作用。

     

    4)常量為變量的一種特例,用Const定義,且定義時賦值,程序中不能改變值,作用域也如同變量作用域。如下定義:Const Pi=3.1415926 as single

     

    5,數(shù)組:是包含相同數(shù)據(jù)類型的一組變量的集合,對數(shù)組中的單個變量引用通過數(shù)組索引下標進行。在內(nèi)存中表現(xiàn)為一個連續(xù)的內(nèi)存塊,必須用Global或Dim語句來定義。定義規(guī)則如下: Dim 數(shù)組名([lower to ]upper [, [lower to ]upper, ….]) as type ;Lower缺省值為0。二維數(shù)組是按行列排列,如XYZ(行,列)。

     

    除了以上固定數(shù)組外,VBA還有一種功能強大的動態(tài)數(shù)組,定義時無大小維數(shù)聲明;在程序中再利用Redim語句來重新改變數(shù)組大小,原來數(shù)組內(nèi)容可以通過加preserve關(guān)鍵字來保留。如下例: Dim array1() as double : Redim array1(5) : array1(3)=250 : Redim preserve array1(5,10)

     

    6,注釋和賦值語句

     

    1)注釋語句是用來說明程序中某些語句的功能和作用;VB中有兩種方法標識為注釋語句。

     

    單引號 ’ ;如:’定義全局變量;可以位于別的語句之尾,也可單獨一行

     

    Rem ;如:Rem定義全局變量;只能單獨一行

     

    2)賦值語句是進行對變量或?qū)ο髮傩再x值的語句,采用賦值號 =,如X=123:Form1.caption=”我的窗口”。對對象的賦值采用:set myobject=object 或 myobject:=object

     

    7,書寫規(guī)范:

     

    1)VBA不區(qū)分標識符的字母大小寫,一律認為是小寫字母;

     

    2)一行可以書寫多條語句,各語句之間以冒號 : 分開;

     

    3)一條語句可以多行書寫,以空格加下劃線 _ 來標識下行為續(xù)行;

     

    4)標識符最好能簡潔明了,不造成歧義。

    運算符

    VB具有豐富的運算符集,大體上分為三類,算術(shù)運算符、關(guān)系運算符和邏輯運算符。

    5.3.1  算術(shù)運算符

    VB中的算術(shù)運算符有如下幾種:

    ^       冪運算       -       負號

    *                  /      

           整除         Mod     取模

    +                  -      

    以下列出幾個算術(shù)運算的表達式:

    X=Y^2                       X等于Y的平方

    X=Y^-2                      X等于Y的負二次方

    X=Y*Z                       X等于Y乘以Z

    X=Y/Z                       X等于Y除以Z

    X=5/2                       X等于5除以2,值為2.5

    X=52                       X等于5用2整除,值為2

    X=5Mod2                     X等于5模2,值為1

    5.3.2  關(guān)系運算符

    = 等于                    > 大于                    < 小于

    <> 不等于                 <= 小于等于                >= 大于等于

    如:

    X=Y

    3<>2 ……

    關(guān)系運算符與數(shù)學(xué)運算符的用法一致,只是表達方式有所不同而已

    5.3.3  邏輯運算符

    VB中的邏輯運算符有:

    NOT                                     AND           

    OR                                      XOR            異或

    EQU            邏輯等                     IMP            隱含

    以下分別介紹這幾種運算符:

    NOT:邏輯非。對邏輯值取反,如:

    3<5                     表達式值為真

    NOT3<5                  取反,表達式值為假

    AND:邏輯與。兩個表達式的值均為真,則結(jié)果為真,如果有任一個表達式值為假,則結(jié)果為假。其運算規(guī)則如表5-2

    5-2  AND運算規(guī)則表

    第一操作符

    第二操作符

    操作結(jié)果

    True

    True

    True

    True

    False

    False

    False

    True

    False

    False

    False

    False

    例如:

    3<5AND4>3     兩個表達式結(jié)果均為真,則AND操作結(jié)果為真。

    3<5AND4<3     第一個表達式結(jié)果為真,第二個表達式結(jié)果為假,則AND操作結(jié)果為假。

    OR:邏輯或。當兩個表達式中至少一個為真時,結(jié)果為真。運算規(guī)則如表5-3

    5-3  OR運算規(guī)則表

    第一操作符

    第二操作符

    操作結(jié)果

    True

    True

    True

    True

    False

    True

    False

    True

    True

    False

    False

    False

    例如:

    3<5OR4<3      第一個表達式結(jié)果為真,第二個表達式結(jié)果為假,則OR操作結(jié)果為真。

    XOR:邏輯異或。當兩個表達式值相反時,結(jié)果為真。運算規(guī)則如表5-4

    5-4  XOR運算規(guī)則表

    第一操作符

    第二操作符

    操作結(jié)果

    True

    True

    False

    True

    False

    True

    False

    True

    True

    False

    False

    False

    例如:

     5/3>1XOR1<0    第一個表達式結(jié)果為真,第二個表達式結(jié)果為假,則XOR操作結(jié)果為真。

    EQU: 邏輯等。兩個表達式的值相同時,結(jié)果為真。運算規(guī)則如表5-5

    5-5  EQU運算規(guī)則表

    第一操作符

    第二操作符

    操作結(jié)果

    True

    True

    True

    True

    False

    False

    False

    True

    False

    False

    False

    True

    例如:

    3<2EQU(3-1)<0    第一個表達式結(jié)果為假,第二個表達式結(jié)果也為假,則EQU操作結(jié)果為真。

    IMP:比較兩個表達式。當?shù)谝粋€表達式為假或第二個表達式為真時操作結(jié)果為真。運算規(guī)則如表5-6

    5-6  IMP運算規(guī)則表

    第一操作符

    第二操作符

    操作結(jié)果

    True

    True

    True

    True

    False

    False

    False

    True

    True

    False

    False

    True

    例如

     3<2IMP3>0      第一個表達式結(jié)果為假,第二個表達式結(jié)果為真,則IMP操作結(jié)果為真。

    5.4  基本語句

    5.4.1  注釋語句

    在使用注釋語句之前必須先了解注釋的作用,注釋不僅僅是對程序的解釋,有時它對于程序的調(diào)試也非常有用,譬如說可以利用注釋屏蔽一條語句以觀察變化,發(fā)現(xiàn)問題和錯誤。以后注釋語句將是我們在編程里最經(jīng)常用到的語句之一。

    VB里,注釋語句有兩種,一種是用“Rem”關(guān)鍵字,這跟DOS里的批處理文件的用法一樣,還有一種是利用單引號“”,例如:

    ‘Dim a As String

    Rem Dim a As String 的作用是一致的。

    5.4.2  順序語句

    順序語句就是依順序逐條執(zhí)行的語句。在程序中沒有流程控制語句的情況下,程序中各語句將按順序逐一執(zhí)行,只有在上一條語句執(zhí)行完畢后,才能執(zhí)行下一條語句。

    5.4.3  條件語句

        任何一種程序語言都離不開流程控制語句,程序中控制流程的語句有兩種:條件與循環(huán)。掌握這兩種語句是學(xué)習(xí)編程關(guān)鍵的一步,下面首先介紹VB中的條件語句。

    5.4.3.1  IF語句

    在條件語句里,我們先來學(xué)習(xí)“If……Then……”語句。

    語法:

    If <條件> Then

    <語句>

    End If

    如果希望條件不滿足時執(zhí)行另一語句,可以以增加一個else語句:

    If <條件> Then

    <語句>

    else

    <語句>

    End If

    如果Then后面所跟的語句只有一條,可以寫成:

    If <條件> Then <語句>

    而不用End If

    還可以在Else里在嵌套If語句,如:

    If <條件> Then

      <語句>

    Else If <條件> Then

      <語句>

    ……

    Else

      <語句>

    End If


    判斷語句

     

    1)If…Then…Else語句

    If condition Then [statements][Else elsestatements]
    如1:If A>B And C<D Then A=B+2 Else A=C+2
    如2:If x>250 Then x=x-100
    或者,可以使用塊形式的語法:
    If condition Then
    [statements]
    [ElseIf condition-n Then
    [elseifstatements] ...
    [Else
    [elsestatements]]
    End If
    如1:
    If Number < 10 Then
    Digits = 1
    ElseIf Number < 100 Then
    Digits = 2
    Else
    Digits = 3
    End If
    

    2)Select Case…Case…End Case語句

    如1:
    Select Case Pid
    Case “A101”
    Price=200
    Case “A102”
    Price=300
    ……
    Case Else
    Price=900
    End Case
    

     

    3)Choose 函數(shù): choose(index, choce-1,choice-2,…,choice-n),可以用來選擇自變量串列中的一個值,并將其返回,index 必要參數(shù),數(shù)值表達式或字段,它的運算結(jié)果是一個數(shù)值,且界于 1 和可選擇的項目數(shù)之間。choice 必要參數(shù),Variant表達式,包含可選擇項目的其中之一。如: GetChoice? = Choose(Ind, "Speedy", "United", "Federal")

     

    4)Switch函數(shù): Switch(expr-1, value-1[, expr-2, value-2 _ [, expr-n,value-n]]) switch函數(shù)和Choose函數(shù)類似,但它是以兩個一組的方式返回所要的值,在串列中,最先為TRUE的值會被返回。 expr 必要參數(shù),要加以計算的 Variant 表達式。value 必要參數(shù)。如果相關(guān)的表達式為 True,則返回此部分的數(shù)值或表達式,沒有一個表達式為 True,Switch 會返回一個 Null值。

     

    9,循環(huán)語句

     

    1)For Next語句 以指定次數(shù)來重復(fù)執(zhí)行一組語句

    For counter = start To end [Step step]     ' step 缺省值為1
    [statements]
    [Exit For]
    [statements]
    Next [counter]
    如1:
    For Words = 10 To 1 Step -1             ' 建立 10 次循環(huán)
    For Chars = 0 To 9                    ' 建立 10 次循環(huán)
    MyString = MyString & Chars            ' 將數(shù)字添加到字符串中
    Next Chars                            ' Increment counter
    MyString = MyString & " "           ' 添加一個空格
    Next Words
    

    2)For Each…Next語句:主要功能是對一個數(shù)組或集合對象進行,讓所有元素重復(fù)執(zhí)行一次語句

    For Each element In group
    Statements
    [Exit for]
    Statements
    Next [element]
    如1:
    For Each rang2 In range1
    With range2.interior
    .colorindex=6
    .pattern=xlSolid
    End with
    Next
    這上面一例中用到了 With…End With 語句,目的是省去對象多次調(diào)用,加快速度;語法為:
    With object
    [statements]
    End With
    

    3)Do…loop語句 在條件為true時,重復(fù)執(zhí)行區(qū)塊命令

    Do {while |until} condition      ' while 為當型循環(huán),until為直到型循環(huán),顧名思義,不多說啦
    Statements
    Exit do
    Statements
    Loop
    或者使用下面語法
    Do                                ' 先do 再判斷,即不論如何先干一次再說
    Statements
    Exit do
    Statements
    Loop {while |until} condition
    

     

    10,其他類語句和錯誤語句處理

     

    A, 其他循環(huán)語句:結(jié)構(gòu)化程序使用以上判斷和循環(huán)語句已經(jīng)足夠,建議不要輕易使用下面的語句,雖然VBA還支持。

     

    1)Goto line 該語句為跳轉(zhuǎn)到line語句行

     

    2)On expression gosub destinatioinlist 或者 on expression goto destinationlist 語句為根據(jù) exprssion表達式值來跳轉(zhuǎn)到所要的行號或行標記

     

    3)Gosub line…line…Return語句, Return 返回到 Gosub line行,如下例:

    Sub gosubtry()
    Dim num
    Num=inputbox(“輸入一個數(shù)字,此值將會被判斷循環(huán)”)
    If num>0 then Gosub Routine1 :Debug.print num:Exit sub
    Routine1:
    Num=num/5
    Return
    End sub
    

    4)while…wend語句,只要條件為TRUE,循環(huán)就執(zhí)行,這是以前VB老語法保留下來的,如下例: while condition 'while I<50 [statements] 'I=I+1 wend 'Wend

     

    B, 錯誤語句處理:執(zhí)行階段有時會有錯誤的情況發(fā)生,利用On Error語句來處理錯誤,啟動一個錯誤的處理程序。語法如下:

    On Error Goto Line   '當錯誤發(fā)生時,會立刻轉(zhuǎn)移到line行去
    On Error Resume Next     '當錯誤發(fā)生時,會立刻轉(zhuǎn)移到發(fā)生錯誤的下一行去
    On Erro Goto 0                '當錯誤發(fā)生時,會立刻停止過程中任何錯誤處理過程
    

    5.5  過程

    在程序設(shè)計中經(jīng)常會有重復(fù)的地方,可以把重復(fù)的部分獨立為一個過程,在使用時進行調(diào)用,從而簡化代碼編寫,提高編程效率。過程可用于壓縮重復(fù)任務(wù)或共享任務(wù)。用過程編程有兩大好處:

    ·         過程可使程序劃分成離散的邏輯單元,每個單元都比無過程的整個程序容易調(diào)試。   

    ·         一個程序中的過程,往往不必修改或只需稍作改動,便可以成為另一個程序的構(gòu)件。

    Visual Basic 中使用下列幾種過程:

    1.子(Sub)過程

    [Private | Public ] [Static] Sub name [arglist]

           [statements]

           [Exit Sub]

           [statements]

    End Sub

    Sub 語句的語法包含下面部分:

    Public|Private  Static 聲明函數(shù)的作用域、生存期。

    Name:必需的。Sub 的名稱,遵循標準的變量命名約定。

    Arglist:可選的。代表在調(diào)用時要傳遞給 Sub 過程的參數(shù)的變量列表。多個變量則用逗號隔開。

    Statements:可選的。Sub 過程中所執(zhí)行的任何語句組。事件過程或其他過程可按名稱調(diào)用子過程。

    子過程能夠接收參數(shù),并可用于完成過程中的任務(wù)并返回一些數(shù)值。但是,與函數(shù)過程不同,子過程不返回與其特定子過程名相關(guān)聯(lián)的值(盡管它們能夠通過變量名返回數(shù)值)。子過程一般用于接收或處理輸入數(shù)據(jù)、顯示輸出或者設(shè)置屬性。

        2.函數(shù)(Function 過程

    [Public | Private ] [Static] Function name [arglist] [As type]

           [statements]

           [name = expression]

           [Exit Function]

           [statements]

           [name = expression]

    End Function

    各參數(shù)分述如下:

    Public|Private  Static:聲明函數(shù)的作用域、生存期。

    Name:必需的。Function 的名稱,遵循標準的變量命名約定。

    Arglist:可選的。代表在調(diào)用時要傳遞給 Function 過程的參數(shù)變量列表。多個變量應(yīng)用逗號隔開。

    type :可選的。Function 過程的返回值的數(shù)據(jù)類型,可以是 ByteBooleanIntegerLongCurrencySingleDoubleDecimal(目前尚不支持)、DateString(除定長)、ObjectVariant或任何用戶定義類型。任何類型的數(shù)組都不能作為返回值,但包含數(shù)組的 Variant 可以作為返回值。

    Statements:可選的。在 Function 過程中執(zhí)行的任何語句組。

    Expression:可選的。Function 的返回值。

    事件過程或其他過程可按名稱調(diào)用函數(shù)過程。函數(shù)過程能夠接收參數(shù),并且總是以該函數(shù)名返回一個值。這類過程一般用于完成計算任務(wù)。

    函數(shù)過程與子過程有許多相似的地方,它們之間最大也是最本質(zhì)的區(qū)別就在于,函數(shù)過程有一個返回值,而子過程只是執(zhí)行一系列動作。

    事件處理過程
    要對一個控件事件編寫事件處理程序,應(yīng)先打開窗體的代碼窗口并從可用對象的下拉列表中選擇所需的控件。然后,從該控件的可用事件下拉列表中選擇所用的事件。此時,對事件處理程序的定義語句就會自動出現(xiàn)在代碼窗口中,就可以直接編寫事件處理程序了。
    在Excel中,有下面幾類事件,即Excel應(yīng)用程序事件、工作簿事件、工作表事件、圖表事件、用戶窗體事件等。
    屬性過程
    屬性過程(property procedure)是特殊的過程,用于賦予和獲取自定義屬性的值。屬性過程只能在對象模塊如窗體或類模塊中使用。
    有三種屬性過程:
    Property Let
      給屬性賦值
    Property Get
      獲取屬性的值
    Property Set
      將對象引用賦給屬性引用
    - - - - - - - - - - - - - - - - - - - -
    調(diào)用子過程和函數(shù)過程
    子過程可以用下面三種方法調(diào)用。第一種使用Call語句:
    Call DoSomething(參數(shù)1參數(shù)2,……)
    如果使用Call語句,就必須用小括號將參數(shù)列表括起來。
    第二種是直接利用過程名:
    DoSomething 參數(shù)1參數(shù)2,……
    此時,不用在參數(shù)列表兩邊加上括號。
    如果不想使用函數(shù)的返回值,可以用上述任一種方法調(diào)用函數(shù)。否則,可以用函數(shù)名作為表達式的組成部分,如
    If GetFunctionResult(parameter)=1 Then
    如果用函數(shù)調(diào)用作為表達式的一部分,參數(shù)列表必須放在小括號中。
    第三種是使用Run方法。


     

    5.6  VB的系統(tǒng)函數(shù)

    VB中,為了增強程序的功能,我們經(jīng)常要調(diào)用系統(tǒng)提供的函數(shù)。這些函數(shù)可以分為以下幾類:字符處理函數(shù)、數(shù)學(xué)函數(shù)、數(shù)據(jù)類型函數(shù)、輸入輸出函數(shù)、圖像函數(shù)和時間函數(shù)。下面我們就來分門別類地介紹一些常用的函數(shù)。

    5.6.1  字符處理函數(shù)

    在這一章里,我們將介紹一系列的字符處理函數(shù):Chr,Asc,String,Len,Left,Right,Mid,

    Lcase,Ucase,Ltrim,Rtrim,Trim,Str,Val,InStr,StrComp

    1Chr[$](數(shù)值)函數(shù)

    返回標準擴展碼的對應(yīng)字符。

    說明:

    1)數(shù)值范圍在0255之間。

    2Chr()返回的是數(shù)值類型,而Chr$()則返回字符類型。

    3ANSIASCII碼的擴充,其前128個字符都與ASCII碼相同。

    例如,我們常用以下的語句加入回車換行符。

    Chr(13)+Chr(10)

    2Asc(“字符”)函數(shù)

    此函數(shù)用來返回字符的ANSI碼值。

    說明:  若輸入為一字符串,則只返回第一個字符的ASCII碼值。

    例如,

    x=Asc(a         x=97

    x=Asc(ab        x=97

    3String[$](個數(shù),字符)

    用于重復(fù)某一個字符。

    說明:

    1)“個數(shù)”用來指定重復(fù)的次數(shù)。

    2)若“字符”為一字符串,則只重復(fù)復(fù)制第一個字符。

    4Len(字符串) 函數(shù)

    用于返回字符串的長度。

    5Left[$](字符串,字符個數(shù))

    用于返回“字符串”最左邊的長度為“字符個數(shù)”的字符串。

    例如,

    Dim  substr  As  String

    substr=Left("Visual Basic",3)

    則,

    substr="Vis"

    6Right[$](字符串,字符個數(shù))

    用于返回“字符串”最右邊的長度為“字符個數(shù)”的字符串。

    例如,

    Dim  substr  As  String

    substr=Right(Visual Basic,3)

    則,

    substr=sic

    7Mid[$](字符串,起始位置,[字符個數(shù)]

    用于返回一個子字符串。

    說明:

    1)子字符串從“起始位置”開始,以“字符個數(shù)”為長度。

    2)若省略“字符個數(shù)”,則從起始位置到字符串的結(jié)尾。

    8Lcase(字符串)和Ucase(字符串)函數(shù)

    Lcase:不論字符串中的字符為大寫還是小寫,一律輸出為小寫。

    Ucase:不論字符串中的字符為大寫還是小寫,一律輸出為小寫。

    9Ltrim(字符串)、Rtrim(字符串)、Trim(字符串)函數(shù)

    Ltrim(字符串):用于去掉字符串中左邊的空格。

    Rtrim(字符串):用于去掉字符串中右邊的空格。

    Trim(字符串):用于去掉字符串中左右兩邊的空格。

    10Str(數(shù)值)函數(shù) Val(字符串) 函數(shù)

    Str(數(shù)值):用于將數(shù)字轉(zhuǎn)化為字符串。

    Val(字符串):用于將字符串轉(zhuǎn)化為數(shù)值。

    例如,

    Dim  a   As  String

    Dim  b   As  Long

    a=Str(345.45)

    b=Val(234.45

    則,

    a=“345.45”

    b=234.45

    11Instr[起始位置,]“字符串1”,“字符串2[,比較模式]

    此函數(shù)用來在字符串1中查找字符串2

    說明:

    1)從字符串1的“起始位置”處開始查找字符串2,如果找到“字符串2,則返回字符串2在字符串1中的起始位置。

    2)比較模式可以為01,為1時,比較時不區(qū)分大小寫;為0時,區(qū)分大小寫。VB的默認設(shè)置為0

    3)若指定了比較模式,則必須指定起始位置,否則就會出現(xiàn)語法錯誤。

    12StrComp(字符串1,字符串2,比較模式)

    此函數(shù)用于對兩個字符串進行比較。

    說明:

    1)若字符串1小于字符串2,則返回-1

    若字符串1大于字符串2,則返回1

    若字符串1等于字符串2,則返回0

    2)比較模式可以為01。為1時,比較不區(qū)分大小寫;為0,區(qū)分大小寫。VB的默認設(shè)置為0

    3)字符的比較是從第一個字符開始逐一比較,若出現(xiàn)不匹配字符,則終止比較,返回比較的結(jié)果。

    posted on 2007-12-30 00:22 so true 閱讀(17280) 評論(3)  編輯  收藏 所屬分類: Others

    評論

    # re: [改編]VB基本語法學(xué)習(xí)  回復(fù)  更多評論   

    不錯,謝謝哦
    2008-07-14 11:46 | jing

    # re: [改編]VB基本語法學(xué)習(xí)[未登錄]  回復(fù)  更多評論   

    很好很有用
    2008-07-18 17:24 | Ryan

    # re: [改編]VB基本語法學(xué)習(xí)  回復(fù)  更多評論   

    樓主,定義多維數(shù)組,沒有說明下標從一開始,是不是Dim ThreeD(4,2 to 5,3 to 6) As Integer

    定義一個三維數(shù)組(4×4×4)應(yīng)該是(5×4×4)
    2016-04-20 15:04 | 游客
    主站蜘蛛池模板: 9久热这里只有精品免费| 国产精品亚洲精品爽爽| 亚洲国产精品xo在线观看| 亚洲国产成+人+综合| 亚洲一区二区三区成人网站 | 亚洲av综合av一区二区三区| 色窝窝亚洲av网| 中文精品人人永久免费| 最近中文字幕大全免费视频| 成人免费视频一区| 亚洲精品WWW久久久久久| 亚洲国产精品无码久久久秋霞2| 中文字幕亚洲综合久久| 国产精品亚洲AV三区| 免费看黄的成人APP| 波多野结衣免费在线| 国产小视频在线观看免费| 亚洲精品无码不卡在线播HE| 亚洲视屏在线观看| 色婷婷亚洲一区二区三区| 久久免费国产精品一区二区| 毛片基地免费观看| 中文字幕精品亚洲无线码二区| 精品日韩亚洲AV无码一区二区三区| 亚洲成av人片在www鸭子| 亚洲av中文无码乱人伦在线咪咕| 亚洲制服丝袜第一页| 免费看污成人午夜网站| 国产区卡一卡二卡三乱码免费| 中文字幕亚洲一区| 免费国产不卡午夜福在线| 国产亚洲AV夜间福利香蕉149| 一区免费在线观看| 91短视频在线免费观看| 国产成A人亚洲精V品无码性色 | 怡红院免费全部视频在线视频| 国产精品成人免费综合| 亚洲免费在线视频播放| 一区二区三区观看免费中文视频在线播放| 俄罗斯极品美女毛片免费播放| 2020国产精品亚洲综合网|