値渡しと参照渡し

こんにちは
値渡しと参照渡し
sub sample(Byval Str as string) とか sub sample(ByRef Str as string) とかいうやつです。
Google先生に聞けばその時はなるほどと分かったようなつもりだけど、説明せよと言われると??

自分も call *** は書きますがせいぜい条件分岐が長すぎてわかりやすくするためsubに分けたり 
public function sample(param as long) as boolean のようなパブリック関数呼び出しなので
値渡し、参照渡しは意識したことがなかった。

結局、値渡しは値を sub に渡すだけ
渡したら知らんぷり
参照渡しは引数として渡して一緒に使いましょう
ということなのか?

そういう風に覚えよう。

Byvalのvalはvalueでしょうね、持ってけ!ドロボー、返せと言っても返さんでいいからな!・・かな?
Byrefのrefはreferenceかな? 参照、紹介、参考とかいう意味だな。 これあげるね、でも必要な時は声かけるから返してね、ラッピングして・・かな?

ちなみにVBAの場合は書かなければByrefがデフォルトだそうな。

Pingとデフォルトゲートウェイ

実はヤフーブログで書こうと思ったのですがどうも落ち着かないのでwordpressで・・

VBAといいつつ最初から脱線してPingの話です

管理している小さなLANは基本は閉鎖したLANです。
なのでデフォルトゲートウェイは面倒くさいのでもう未記入にしておこう
と思ったらaccessのaccdbが起動時エラー

起動時に実行するモジュールVBAでpingを打たせているのですが
戻り値を取得できない。

cmd.exeで実際に打ってみると
ダミーのデフォルトゲートウェイを記入している場合

192.168.100.1 からの応答:宛先ホストに到達できません。

未記入の場合だと

ping:転送に失敗しました。一般エラーです。

返事が違いますね。pingは打たずにエラーを吐いている模様。
pingと命令したら必ず打つものだと思っていたので・・
恥ずかしながら知りませんでした。

ping 192.168.100.1 | find “到達できません”
if error level 0 (****

なんてバッチファイルも通用しなくなります。

うちの場合デフォルトゲートウェイは必ず記入すべし。