概要
以下基準は個人的な主観で見やすいようにと考えて勝手に作ったコメントや記述方法です。
その為、ほぼ自分用のメモです。
随時この方が良いかな、、的な感じて考えているので、
昔に開発したのや今後開発して投稿するのは以下の通りに出来ない場合があります。。その場合はご容赦を(;'∀')
また既に手法が確立されていたり、良いものや方法があったら教えて頂けると幸いです!
関数説明の記載
作成したプロシージャの前には説明コメントを記載します。
詳細な記載方法は下記の例の通りです。
内容につきましては、
「関数名」「機能」「引数」「返却値」「備考」を記載します。
こちらの記載方法であれば後かぱっと何に利用するプロシージャであるか、
また作っていませんがテキストで読み込めで処理すれば作成した関数の一覧と説明が一覧化出来るかな、、と思っています。
(多分...できなかったら改良します笑)
引数の記載を1: 2: としている理由につきましては、
引数名が長かったり途中で名が変わったりした際に手間でしたので連番にしました。
コメントの記載
VBAは他の方に引継ぎをする際にブラックボックス化して改修できない事がよくあるらしいので
出来る限りコメントをするようにした方が良さそうです。
全部が全部に付けると逆に分かりにくくなる可能性があるので、1行単位にきっちり付ける必要は無いと思います。
プロシージャ名の頭文字について
・「f」 → (fuctionのつもり,,,) エクセルの関数として呼び出す場合はプロシージャ名の場合に設定
・「main」 → メイン処理はプロシージャ名の場合に設定
・「set」 → メインから呼び出すプロシージャで設定する処理(戻り値が無いSub)の場合に設定
・「get」 → メインから呼び出すプロシージャで取得する処理(戻り値が有るFuction)の場合に設定
変数名の頭文字について
・「p」 → (parameterのつもり,,,)プロシージャの引数の場合に設定
・「obj」 → システムオブジェクトを利用する場合に設定
(例 Set objFSO = CreateObject("Scripting.FileSystemObject") )
(作成例)
'------------------------------------------------------------
'関数名:setEventOnOff
'機 能:処理の高速化
'引 数:1:対象ファイル
' 2: ←2は記載例として書いているだけであり本来不要です。
'返却値:-
'備 考:メイン処理開始時にFALSEで呼び出し、終了時にTRUEで呼び出してください。
' 各種イベント等の処理を停止することでメイン処理のの高速化を図るプロシージャです。
'------------------------------------------------------------
Sub setEventOnOff(ByVal pFlg As Boolean)
With Application
.ScreenUpdating = pFlg '画面表示の更新
.EnableEvents = pFlg ' オブジェクトに対してイベント
.DisplayAlerts = pFlg ' マクロの実行中に特定の警告やメッセージ
'計算方法の設定
If pFlg = True Then
.Calculation = xlCalculationAutomatic '計算方法:自働
Else
.Calculation = xlCalculationManual '計算方法:手動
End If
End With
End Sub