乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      如何利用VBA代碼,屏蔽EXCEL工作表的復(fù)制功能

       hjr231 2019-02-12

      大家好,我們今日繼續(xù)講解VBA代碼解決方案的第50講內(nèi)容:如何利用VBA代碼,有效的屏蔽工作表的復(fù)制功能。為什么要進(jìn)入這節(jié)的內(nèi)容呢?因?yàn)橛袝r(shí)我們并不希望用戶對(duì)工作表中的數(shù)據(jù)進(jìn)行復(fù)制粘貼操作,這些是我的私有財(cái)產(chǎn),不能讓人輕易的獲得,那么該怎么辦呢?此時(shí)我們可以把所有的復(fù)制功能都屏蔽掉,這里會(huì)利用三個(gè)知識(shí)點(diǎn)

      一:CommandBars對(duì)象的FindControl方法。

      應(yīng)用于CommandBars對(duì)象的FindControl方法返回一個(gè)符合指定條件的CommandBarControl對(duì)象。語(yǔ)法如下:expression.FindControl(Type, Id, Tag, Visible, Recursive)

      參數(shù)

      a) expression是必需的,返回一個(gè)CommandBars對(duì)象。

      b) Type是可選的,要查找控件的類型。

      c) Id是可選的,要查找控件的標(biāo)識(shí)符。

      d) Tag是可選的,要查找控件的標(biāo)記值。

      e) Visible是可選,如果該值為True,那么只查找屏幕上顯示的命令欄控件。默認(rèn)值為False。

      f) Recursive是可選的,如果該值為True,那么將在命令欄及其全部彈出式子工具欄中查找。此參數(shù)僅應(yīng)用于CommandBar對(duì)象。默認(rèn)值為False。

      特別注意:如果沒(méi)有控件符合搜索條件,那么FindControl方法返回Nothing。

      二:利用CellDragAndDrop 屬性設(shè)置單元格的拖放功能,如果允許使用單元格拖放功能,則該值為True,如果不允許則該值設(shè)為false.

      三:關(guān)于應(yīng)用于Application 對(duì)象的OnKey方法,這個(gè)知識(shí)點(diǎn)在我之前的文章中講解過(guò),這里給大家復(fù)習(xí)一下:應(yīng)用于Application 對(duì)象的OnKey方法指定特定鍵或特定的組合鍵運(yùn)行的過(guò)程,語(yǔ)法如下:expression.OnKey(Key, Procedure)

      參數(shù):a) expression是必需的,該表達(dá)式返回一個(gè)Application 對(duì)象。

      b) Key是必需的,用于表示要按的鍵的字符串,具體請(qǐng)參閱VBA中的幫助。

      c) Procedure是可選的,表示要運(yùn)行的過(guò)程名稱的字符串,如果將Procedure參數(shù)指定為空文本(''),則不發(fā)生任何操作。

      下面我們看如何利用VBA代碼達(dá)到屏蔽復(fù)制功能的作用,如下面的代碼:

      Dim CmdCtrls As CommandBarControls

      Dim Cmd As CommandBarControl

      Sub MyProCopy()

      Set CmdCtrls = Application.CommandBars.FindControls(ID:=19)

      For Each Cmd In CmdCtrls

      Cmd.Enabled = False

      Next

      Application.CellDragAndDrop = False

      Application.OnKey ('^c'), ''

      End Sub

      Sub MyStaCopy()

      Set CmdCtrls = Application.CommandBars.FindControls(ID:=19)

      For Each Cmd In CmdCtrls

      Cmd.Enabled = True

      Next

      Application.CellDragAndDrop = True

      Application.OnKey ('^c')

      End Sub

      代碼解析:

      第1、2行代碼在模塊頂部聲明兩個(gè)模塊級(jí)的變量。

      第3行到第10行代碼ProCopy過(guò)程,屏蔽工作表中所有的復(fù)制功能。其中第4行到第7行代碼使用FindControls方法將所有與'復(fù)制'相關(guān)的命令欄控件賦給變量CmdCtrls后將其Enabled設(shè)置為False。

      第8行代碼屏蔽單元格拖放功能,利用了應(yīng)用于Application對(duì)象的CellDragAndDrop屬性

      第9行代碼屏蔽<Ctrl+C>組合鍵功能。

      第11行到第18行代碼StaCopy過(guò)程,恢復(fù)所有的復(fù)制功能。

      下面看代碼窗口:

      如何利用VBA代碼,屏蔽EXCEL工作表的復(fù)制功能

      其次:運(yùn)行MyProCopy后:我這里按鈕1是關(guān)聯(lián)的MyProCopy,此時(shí)復(fù)制不起任何作用,在A1單元格中也不存在填充柄。

      如何利用VBA代碼,屏蔽EXCEL工作表的復(fù)制功能

      最后我們運(yùn)行MyStaCopy,我這里關(guān)聯(lián)的是按鈕2,如圖,復(fù)制可以了,也出現(xiàn)了填充柄。

      如何利用VBA代碼,屏蔽EXCEL工作表的復(fù)制功能

      今日內(nèi)容回向:

      1 如何做到復(fù)制不起作用呢?大概的思路是怎么樣的?

      2 本文講到了三個(gè)知識(shí)點(diǎn),讀者是否清楚了呢?

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

        0條評(píng)論

        發(fā)表

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

        類似文章 更多