bat起動時に割り当てた引数が空か確認する

batを起動したときに、引数を割り当てし忘れて思わぬ誤動作をしてしまいました。
引数が割り当てされているか確認するときに、少々はまったので覚え書きです。
 
 
第1引数(%~1)が割り当てされているか確認する方法です。

 
注意としては、引数を確認するときに%~1を””で囲む必要があります。
“”で囲まない場合はエラーが発生します。
 
 

.batファイルを実行するとnullのファイルが作成されてしまう

バッチファイルにnullコマンドを記載して実行すると、実行したフォルダ内にnullファイルが作成されてしまいました。
原因を調べてみると、Windowsのバッチファイルには「null」ではなく「nul」と入力しないとならないみたいです。
 
こんな単純なことですが、結構な時間はまってしまいました・・・
 
 

引数の渡し方

プロシージャに引数を渡す方法が2種類有る。
 
ByRef(参照渡し)・・・プロシージャは呼び出し元変数を変更できる。
ByVal(値渡し)・・・プロシージャは呼び出し元変数を変更できない。
 
 
参考サイト:https://msdn.microsoft.com/ja-jp/library/cc436524(v=vs.71).aspx
 

画面の更新を制御する

VBAで、マクロ実行中に画面の更新を制御する。
画面の更新を停止することで実行速度が速くなる。
 
 
Application.ScreenUpdating プロパティ
 

  True      画面の更新する
  False     画面の更新を停止する
 

 
 

ワークシートの表示と非表示

VBAでワークシートを表示や非表示にする場合は「Visible」を使用して行う。

 
また、ワークシートが表示状態か非表示状態かを確認する場合は、ワークシートのVisibleの値を確認する。
 
表示状態の値      「 -1 」
非表示状態の値   「 0 」
 
 

警告メッセージの表示制御する

VBAで、マクロ実行中に警告メッセージの表示を制御する。
 
 
Application.DisplayAlerts プロパティ
 

  True      警告メッセージの表示をする
  False     警告メッセージの表示をしない
 

 
 

ワークシートの表示と非表示を行う

VBAで、シートの表示と非表示はVisibleプロパティを使用して行う。
 
 
Worksheet.Visible プロパティ
 

  True      ワークシートを表示する
  False     ワークシートを表示をしない
 
ワークシート「Sheet1」を非表示にする場合

 
ワークシート「Sheet1」を表示する場合

 
 
 
ユーザの操作で、ワークシートを再表示させたくない場合は「xlVeryHidden」の定数を設定する。
 
ワークシート「Sheet1」を非表示にする場合

 
ワークシート「Sheet1」を表示する場合

 
 
 
VBAの定数についてはリンク先のリファレンスを参照して下さい。
https://msdn.microsoft.com/ja-jp/library/jj692807.aspx