久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

跟煙花入門VBA之93:Application對象(十一)

 fzchenwl 2015-04-01

 

Run 方法

 運(yùn)行一個(gè)宏或者調(diào)用一個(gè)函數(shù),。

 該方法可用于運(yùn)行用 Visual Basic Microsoft Excel 宏語言編寫的宏,,
 或者運(yùn)行
DLL XLL 中的函數(shù),。

 語法:

  Run(Macro, Arg1, Arg2, Arg3, Arg4, Arg5,Arg6, Arg7, Arg8, Arg9, _
     Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, _
     Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, _
     Arg26, Arg27, Arg28,Arg29, Arg30)

   Macro要運(yùn)行的宏名字(過程名)。


    它可以是具有宏名稱的字符串,、表示函數(shù)所在位置的 Range 對象,,
    或者是一個(gè)已注冊的
DLL (XLL) 函數(shù)的注冊號(hào)。


   這里以運(yùn)行VBA宏(跨工作簿調(diào)用)為例子講解

   宏名稱有兩種形式:

    形式1:工作簿名!模塊名.過程名

     被調(diào)用的過程名在其所在的工程內(nèi),,名稱不是唯一的

     也就是在不同的模塊內(nèi)有相同的過程名時(shí),,

     那么在調(diào)用時(shí)需要加上所在模塊的模塊名字。

    形式2:工作簿名!過程名

     被調(diào)用的過程名在其所在的工程內(nèi),,名字是唯一的,。


    另外,調(diào)用加載宏中的過程時(shí)可以不用加工作簿名,,直接指定過程名即可,。

    Run 過程名這種形式調(diào)用時(shí),先會(huì)搜索本工作簿是否有指定的過程,,
    然后再到加載宏中繼續(xù)找,,找不到就只有報(bào)錯(cuò)了。
   ?。ㄈ绻峭粋€(gè)工程內(nèi)的,,沒必要用
run方法了,直接過程名就成了)


  所以大家在寫過程時(shí),,同一個(gè)工程內(nèi)盡是不要有兩個(gè)或多個(gè)同名的過程(事件是個(gè)例外),。


  如果使用字符串,將在當(dāng)前工作表的上下文中對該字符串求值,。

  Arg1-Arg30 可選 Variant 應(yīng)傳遞給函數(shù)的參數(shù),。

 返回值:Variant

 說明:

  此方法不可使用命名參數(shù),,參數(shù)必須通過位置進(jìn)行傳遞。

  Run 方法返回被調(diào)用的宏返回的任何值,。

  如果將對象作為參數(shù)傳遞給宏,,該對象將轉(zhuǎn)換為相應(yīng)的值(通過對該對象應(yīng)用 Value 屬性)。
  這意味著不能用
Run 方法將對象傳遞給宏,。

示例1

 準(zhǔn)備工作:新建兩個(gè)工作簿(假設(shè)分別為工作簿1,,工作簿2

 在工作簿1中添加一標(biāo)準(zhǔn)模塊,復(fù)制以下代碼:

  Sub test()

   Application.Run '工作簿2!模塊1.test1'

   '兩個(gè)標(biāo)準(zhǔn)模塊中均有test1過程,所以在調(diào)用時(shí)要指定模塊名

   Application.Run '工作簿2!模塊2.test1'

   '模塊2test1過程有兩個(gè)可選參數(shù)

   Application.Run '工作簿2!模塊2.test1', '測試調(diào)用模塊2test1過程', _

                 'Application.run方法演示'

   MsgBox '6*9=' & Application.Run('工作簿2!test2',6, 9)

   'test2過程名在工作簿2中具有唯一性,,所以不需要加上模塊名

   '另外,,由于test2是個(gè)函數(shù),有返回值,,可以用在表達(dá)式中,。

  End Sub



 在工作簿
2中添加兩個(gè)標(biāo)準(zhǔn)模塊。

 在模塊1中復(fù)制如下代碼:

  Sub test1()

   MsgBox '模塊1'

  End Sub



 模塊
2中復(fù)制以下代碼

  Sub test1(Optional strPrompt As String ='測試顯示內(nèi)容',  _
       Optional strTitle As String = '測試標(biāo)題')

   MsgBox prompt:=strPrompt, Buttons:=vbInformation + vbOKOnly,Title:=strTitle

  End Sub

 Function test2(a As Long, b As Long)

    test2 = a * b

 End Function


 準(zhǔn)備工作完成后運(yùn)行工作簿1中的test過程,。



SendKeys 方法

 將擊鍵發(fā)送給活動(dòng)應(yīng)用程序,。

 語法:

   SendKeys(Keys, Wait)


    Keys 必選 Variant 要以文本形式發(fā)送給應(yīng)用程序的鍵或組合鍵。

    Wait 可選,,如果為 True,,則 MicrosoftExcel 會(huì)等到處理完按鍵后將控件返回給宏;
         如果為
False(或者省略該參數(shù)),,則繼續(xù)運(yùn)行宏而不等至處理完按鍵,。

 說明:

  本方法將擊鍵放到鍵盤緩沖區(qū)。某些情況下,,在調(diào)用要使用擊鍵的方法之前必須先調(diào)用此方法,。
   例如,若要往對話框中發(fā)送密碼,,則必須在顯示對話框之前調(diào)用
SendKeys 方法,。

  Keys 參數(shù)可指定任何單個(gè)鍵或與 AltCtrl Shift 的組合鍵(或者這些鍵的組合),。
  每個(gè)鍵可用一個(gè)或多個(gè)字符表示,。例如,
'a' 表示字符 a,,或者 '{ENTER}' 表示 Enter,。

  若要指定那些沒有屏幕回顯該字符的鍵(例如,Enter Tab),,請使用下表所列的代碼來表示相應(yīng)的鍵,。
  表中的每個(gè)代碼表示鍵盤上的一個(gè)對應(yīng)鍵。

    BACKSPACE {BACKSPACE} {BS}

    Break {BREAK}

    Caps Lock {CAPSLOCK}

    Clear {CLEAR}

    Delete Del {DELETE} {DEL}

    向下鍵 {DOWN}

    End {END}

    Enter(數(shù)字小鍵盤) {ENTER}

    Enter ~(波形符)

    Esc {ESCAPE} {ESC}

    Help {HELP}

    Home {HOME}

    Ins {INSERT}

    向左鍵 {LEFT}

    Num Lock {NUMLOCK}

    PageDown {PGDN}

    PageUp {PGUP}

    Return {RETURN}

    向右鍵 {RIGHT}

    Scroll Lock {SCROLLLOCK}

    Tab {TAB}

    向上鍵 {UP}

    F1 F15 {F1} {F15}




  還可指定與 Shift / Ctrl / Alt 組合使用的鍵。
  若要指定與其他鍵組合使用的鍵,,可使用下表,。


  要組合的鍵在鍵代碼之前添加

    Shift +(加號(hào))

    Ctrl ^(插入符號(hào))

    Alt %(百分號(hào))

 示例:來自校長的公式引用轉(zhuǎn)換代碼。

  Sub changeyinyong()

   Dim mrg As Range

   If TypeName(Selection) = 'Range'Then

    For Each mrg In Selection

     SendKeys '{F2}'

     'F2鍵進(jìn)入編輯狀態(tài)

     SendKeys '+{home}'

     'shift+home組合鍵全選公式部分

     SendKeys '{F4}'

     'f4鍵轉(zhuǎn)換

     SendKeys '{enter}'

     '跳出單元格編輯模式

    Next mrg

    MsgBox '單元格工作引用切換完成'

     End If

  End Sub



Volatile 方法

 用于將用戶自定義函數(shù)標(biāo)記為易失性函數(shù),,無論何時(shí)在工作表的任意單元格中進(jìn)行計(jì)算時(shí),,
 易失性函數(shù)都必須重新進(jìn)行計(jì)算。
 非易失性函數(shù)只在輸入變量改變時(shí)才重新計(jì)算,,若不用于計(jì)算工作表單元格的用戶自定義函數(shù)中,,則此方法無效。

語法:

 Volatile(Volatile)

 Volatile 可選 Variant 如果為 True,,則將函數(shù)標(biāo)記為易失性函數(shù),。

     如果為 False,則將函數(shù)標(biāo)記為非易失性函數(shù),。

    默認(rèn)值為 True

示例:

 Function mytime()
  Application.Volatile
  mytime = Format(Now, 'hh:mm:ss')
 End Function

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多