私はAccessで数百万行のデータを処理するフォームを作成しており、数時間かかります(コンピューターによって異なります)。CPU速度やRAMの容量などのコンピューターの仕様を読み取り、プロセスにかかる時間を決定する機能を実装したいと思います。
VBAを使用してコンピューターの仕様を取得することは可能ですか?
私はAccessで数百万行のデータを処理するフォームを作成しており、数時間かかります(コンピューターによって異なります)。CPU速度やRAMの容量などのコンピューターの仕様を読み取り、プロセスにかかる時間を決定する機能を実装したいと思います。
VBAを使用してコンピューターの仕様を取得することは可能ですか?
1)「コンピュータ」環境に関する情報を提供できるこの「環境」機能があります。通常、ユーザー名や一時フォルダーなどを取得するために使用されますが、次の値を返すと言われています。
environ(x): value returned
1 : ALLUSERSPROFILE
2 : APPDATA
3 : CLIENTNAME
4 : CommonProgramFiles
5 : COMPUTERNAME
6 : ComSpec
7 : HOMEDRIVE
8 : HOMEPATH
9 : LOGONSERVER
10 : NUMBER_OF_PROCESSORS
11 : OS
12 : Path
13 : PATHEXT
14 : PROCESSOR_ARCHITECTURE
15 : PROCESSOR_IDENTIFIER
16 : PROCESSOR_LEVEL
17 : PROCESSOR_REVISION
18 : ProgramFiles
19 : SESSIONNAME
20 : SystemDrive
21 : SystemRoot
22 : TEMP
23 : TMP
24 : USERDOMAIN
25 : USERNAME
26 : USERPROFILE
27 : windir
2)外部プログラムを起動して値を取り戻すために使用できるシェル関数がいくつかあります。標準のVBAシェル関数に加えて、この「シェルアンドウェイト」関数などの興味深い機能もあります。
3)もちろん、VBAコードでWindows APIから関数を宣言し、それらを使用して必要な値を取得することはいつでも可能です...
WMIサービスオブジェクトを呼び出すことにより、システム情報を取得できるはずです。