Excelで、ログインユーザー名やOneDriveのパスを取得するカスタム関数(ユーザー定義関数)の事例です。このような関数がExcelの標準関数にはないので、VBAのEnviron 関数を使用します。
内容:
アウトプットイメージ
カスタム関数を作成し、Excelの数式でログインユーザー名やOneDriveのパスを取得します。以下は、作成したカスタム関数「関数名:環境変数の取得」の括弧内で”OneDrive”を指定し、OneDriveのパスを取得しています。
この関数で、ログインユーザー名を取得したい場合は、括弧内の値を”USERNAME”とします。
なお、Excelファイルは「Excelマクロ有効ブック(*.xlsm)」などマクロが利用できるファイル等にする必要があります。
Excelのカスタム関数について
Excelのカスタム関数は、ユーザーが独自に定義した関数を作成し、利用するものです。カスタム関数は、VBAでFunction プロシージャを利用して作成します。
Excelで、ログインユーザー名やOneDriveのパスを取得するカスタム関数は、VBAのEnviron 関数を使用し、とても簡単に作成できます。
カスタム関数の作成手順
作成の基本は、前述のMicrosoft サポートのとおりです。
ログインユーザー名やOneDriveのパスを取得するカスタム関数の作成を事例にwindowsのExcelで説明します。
Visual Basic Editorを起動、「挿入」ー「標準モジュール」のクリック
Excelの画面で、Alt キーを押しながら F11 キーを押して Visual Basic Editor を開き、[挿入]、[モジュール] の順にクリックします。 Visual Basic Editor の右側に新しいモジュール ウィンドウが表示されます。
カスタム関数を標準モジュールに記述する
次の内容が、ログインユーザー名やOneDriveのパスを取得するカスタム関数の内容です。
Function 環境変数の取得(環境変数の名前 As String)
環境変数の取得 = Environ(環境変数の名前)
End Function
このコードをコピー・貼り付けするなどで、下図のように標準モジュールに記述します。
「ファイル」ー「終了してMicrosoft Excelに戻る」で、 Visual Basic Editor を終了します。
カスタム関数の利用方法
通常の数式と同様に利用できます。「関数の挿入」でユーザー定義を選択すると、作成したカスタム関数が確認、利用できます。
作成した関数を選択し、OKをクリックすると、関数の引数を選択できる画面になります。事例では、引数に”OneDrive”と指定しています。
以上で、冒頭のアウトプットイメージのとおり、OneDriveのパスが取得できています。
なお、この数式の注意点としては、数式の引数の変更や、再計算を実施しないと更新されないことです。
カスタム関数の補足:VBAのEnviron 関数について
この事例は、Excelの標準関数にはない、VBAのEnviron 関数を利用した事例です。
VBAのEnviron 関数は、指定したWindowsの環境変数を取得できる関数です。
そのため、前述のカスタム関数の引数で、”OneDrive”と指定することで、OneDriveのパスを取得できました。
もし、ログインユーザー名を取得したい場合は、カスタム関数の引数の値を”USERNAME”に修正すれば、取得できます。
どのような環境変数があるか等については、次の記事を参考にしてください。
以上、Excelでログインユーザー名やOneDriveのパスを取得するカスタム関数の作成例でした。