20

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

4

3 に答える 3

44

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

set

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

Environ("username")

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

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

参考文献

  • Microsoft | OfficeVBAリファレンス| 言語リファレンスVBA| 環境機能
  • Microsoft | オフィスサポート| 環境機能
于 2009-06-01T14:55:44.597 に答える
22

Ericがほのめかしているように、次のようにComputerName引数でenvironを使用できます。

MsgBox Environ("USERNAME")

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

  1. 引数では大文字と小文字は区別されません。
  2. Environ関数の文字列バージョンのパフォーマンスが少し速くなります。呼び出すには、ドル記号を使用します。(例:Environ $( "username"))これにより、パフォーマンスがわずかに向上します。
  3. この関数を使用して、すべてのシステム環境変数を取得できます。(ユーザー名だけでなく。)一般的な使用法は、「ComputerName」値を取得して、ユーザーがログオンしているコンピューターを確認することです。
  4. ほとんどの状況ではお勧めしませんが、インデックスを使用して変数にアクセスできることを知っておくと便利な場合があります。この構文を使用すると、引数の名前値が返されます。このようにして、使用可能なすべての変数を列挙できます。有効な値は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
于 2009-06-02T04:32:02.443 に答える
2

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

于 2018-08-06T06:41:21.210 に答える