web-dev-qa-db-ja.com

VBAの環境機能コードサンプル

現在のシステムでユーザー名を取得するために、VBAのEnviron関数の情報またはコードサンプルを探しています。

19
gary A.K.A. G4

Environ()は、環境変数の値を取得します。これらは、コマンドプロンプトで次のコマンドを実行して見つけることができます。

set

ユーザー名を取得する場合は、次のようにします。

Environ("username")

完全修飾名を取得する場合は、次のようにします。

Environ("userdomain") & "\" & Environ("username")

参照資料

  • マイクロソフト| Office VBAリファレンス|言語リファレンスVBA | 環境機能
  • マイクロソフト|オフィスサポート| 環境機能
42
Eric

エリックが示唆したように、次のようにenvironをComputerName引数とともに使用できます。

MsgBox Environ("USERNAME")

あなたが知るのに役立つかもしれないいくつかの追加情報:

  1. 引数はnot大文字と小文字を区別します。
  2. Environ関数の文字列バージョンが少し高速に実行されます。呼び出すには、ドル記号を使用します。 (例:Environ $( "username"))これにより、パフォーマンスが少し向上します。
  3. この関数を使用して、すべてのシステム環境変数を取得できます。 (ユーザー名だけではありません。)一般的な使用方法は、「ComputerName」値を取得して、ユーザーがログオンしているコンピューターを確認することです。
  4. ほとんどの状況ではお勧めしませんが、indexを使用して変数にアクセスできることを知っておくと役立つ場合があります。この構文を使用すると、引数の名前andが返されます。このようにして、使用可能なすべての変数を列挙できます。有効な値は1〜255です。
    Sub EnumSEVars()
        Dim strVar As String
        Dim i As Long
        For i = 1 To 255
            strVar = Environ$(i)
            If LenB(strVar) = 0& Then Exit For
            Debug.Print strVar
        Next
    End Sub
20
Oorang

Environ()関数を使用すると、ライブラリまたはプロパティが見つからないというエラーが発生する場合があります。エラーを回避するには、VBA.Environ()またはVBA.Environ$()を使用します。

1
vanidasan