Private関数(メソッド)でもイミディエイト・ウインドウで動作確認できる
Private関数(メソッド)でもイミディエイト・ウインドウで実行できる
ExcelVBAer (id:x1xy2xyz3) さんからの助言
コチラの記事に、ExcelVBAer (id:x1xy2xyz3) さんからコメントをいただいた。
イミディエイト用の方法で、Private←→Publicという方法の他に、[モジュール名].[関数名]で実行するという方法もありますよ~ 参考まで~
おおっ! そうだったのか!
……というわけで、早速実験。
実験
このとき作ったcreateNumberFilledByZero関数を使う。
リスト1
Private Function createNumberFilledByZero(ByVal numberOf As Long, _ ByVal currentNumber As Long) As String On Error GoTo errorHandler Dim maxNum As Long maxNum = numberOf Dim objNumber As Long objNumber = currentNumber Dim formatString As String Dim n As Integer Dim i As Integer n = Len(CStr(maxNum)) - 1 formatString = String(n, "0") & "#" createNumberFilledByZero = Format(objNumber, formatString) Exit Function errorHandler: createNumberFilledByZero = "" End Function
前回「Public」にしていたアクセス修飾子を今回は「Private」にしている。
実行
で、イミディエイト・ウインドウに、
?module1.
まで打ち込んでみると、
げげっ! Intellisenseでお目当てのcreateNumberFilledByZero関数が出てこねえじゃん……!
ちなみに、
module1にはこれだけのプロシージャがあるはずなのです。
んでも、めげずに
?module1.createnumberfilledbyzero(10000,15)
と打ち込んで[Enter]!
結果
おおっ! ちゃんと実行されとる!
おわりに
……というわけで、ExcelVBAer (id:x1xy2xyz3) さんのおっしゃったとおり、Private関数(メソッド)でも、イミディエイトで動作確認することは可能。
実は、プログラミングの勉強にばかりうつつを抜かしているうちに、本業についての勉強不足が深刻な状態になっていたということに気づきまして……。
このところ、必死でその遅れを取り戻そうとしていたので、ブログの更新もままならず、御礼を申し上げるのが遅くなってしまいました。
ExcelVBAer (id:x1xy2xyz3) さん、ありがとうございました。