CallByName的一些缺陷

2021-09-05 14:17:00 字數 1689 閱讀 5161

執行乙個物件的方法,或者設定或返回乙個物件的屬性。

語法

callbyname(object,procname,calltype,[args()])

callbyname函式的語法有以下命名引數:

部分描述

object

必需的;變體型(物件)。函式將要執行的物件的名稱。

procname

必需的;變體型(字串)。乙個包含該物件的屬性名稱或者方法名稱的字串表示式。

calltype

必需的;常數。乙個vbcalltype型別的常數,代表正在被呼叫的過程的型別。

args()

可選的:變體型(陣列)

說明

callbyname函式用於獲取或者設定乙個屬性,或者在執行時使用乙個字串名稱來呼叫乙個方法。

在下面的例子中,第一行使用callbyname來設定乙個文字框的mousepointer屬性,第二行得到mousepointer屬性的值,第三行呼叫move方法來移動文字框:

text1, 

"mousepointer

", vblet, vbcrosshair

=callbyname

(text1, 

"mousepointer

", vbget)

callbyname

text1, 

"move

", vbmethod, 

100, 

100

上邊是關於callbyname函式的用法,但是如果進行如下試驗,就會發現存在一些缺陷如下:

'

系統提示錯誤

vba.interaction.

callbyname

(activedocument,

"paragraphs.count

",vbget )

'

函式執行正常

vba.interaction.

callbyname

(activedocument.paragraphs,

"count

",vbget )

關鍵就在於procname不能是多級的屬性,只能是最近的屬性,為了解決這個問題,只能動點手腳了,自己處理procname部

分了,很是不爽。

但是callbyname 確實是個好東西,用好了會收益不淺的。

使用google搜尋一下,有些文章不錯的,記錄一下:

1:根據物件名稱來操作物件(非

callbyname

方法)

2:讓資料來證明

3:後繫結方式下對object的處理

jbpm的一些缺陷

1.jbpm中刪除方法,只能直接刪除流程部署,而沒有提供刪除流程定義的api。若要刪除流程定義,則需要根據key得到所有的流程定義,然後遍歷每乙個流程定義,得到流程部署,然後依次刪除。2.存放流程變數時不能直接使用processengine.gettaskservice completetask i...

一些人,一些事,一些

我覺得這是國內it企業浮躁和傳統的官本位性質決定的,導致國內企業都本末倒置。要想改變命運,我覺得有以下出路 1.不做技術了,改做混混 混混的概念很廣泛的,比如銷售 經理 幹部 皮包公司之類其實都屬於這類。中國就是這樣,越浮越掙錢,只有混混才能發財。要不更進一步,做流氓,廣義的流氓,也很不錯。2.專心...

關於RemoteView 的一些字型的一些問題

最近在做乙個 在notification 新增 天氣通知的小部分 發現困擾在 如何給 remoteview 中的字型 作修改 大家都知道 textview 設定字型 在xml 中 可以 設定 3種 而其他字型的設定 需要通過 typeface 去設定 具體 將字型放置在asset 資料夾中 type...