投稿

ラベル(COM)が付いた投稿を表示しています

HSPとExcel VBAで情報取得 (その4)

イメージ
1.概要 HSP3やExcel VBAによるCOMオブジェクトの活用事例としての第四弾です。 今回は、前回記事に引き続き、FileSystemObjectによるドライブ情報の取得、ファイルのサイズや属性等の詳細情報を取得して見ます。 また、ファイル関連の情報ばかりでは、つまらないので、少し変わった所として、XMLHTTPによるサーバーからGMT(グリニッジ標準時)を取得 するを取り上げて見ました。COMオブジェクトについては、まだまだ紹介しきれない部分も多々あるのですが、 今回の記事で終わりです。 2.サンプル 2-1.ドライブ情報を取得する ドライブの情報の取得には、FileSystemObjectを使います。Driveオブジェクトはドライブを表すオブジェクトで GetDriveメソッド、Drivesプロパティ、FileオブジェクトとFolderオブジェクトのDriveプロパティから取得でき ます。Driveオブジェクトには以下の12種類のプロパティがります。 ドライブ名、ドライブの種類、ディスクの空きスペースの大きさなどが取得できます。 ドライブ情報取得プロパティ プロパティ 機 能  AvailableSpace  利用可能な空きスペースの大きさを取得する  DriveLetter  ドライブ名(「C」など)を取得する  DriveType  ドライブの種類を取得する  FileSystem  ドライブのファイルシステムを取得する  FreeSpace  利用可能な空きスペースの大きさを取得する  AvailableSpace  ディスクの空きスペースの大きさを取得する  IsRead  ドライブが準備できているかどうかを取得する  Path  コロン付きのドライブ名を取得する  RootFolder  プロパティルートフォルダを表すFolderオブジェクトを取得する  SerialNumber  ディスクのシリアルナンバーを取得する  ShareName  ネットワーク・ドライブの共有名を取得する  TotalSize  ディスクの総容量を取

HSPとExcel VBAで情報取得 (その3)

イメージ
1.概要 HSP3やExcel VBAによるCOMオブジェクトの活用事例としての第三弾です。 今回は、前回記事に引き続き、日付と時刻やタスクバーのプロパティを表示させます。 また、FileSystemObjectによるファイルやドライブの詳細情報の取得についても取り上げて見ます。 FileSystemObjectはメソッドやパラメータが豊富でファイル操作に係わることはたいていのことはできますが、 HSPやExcel自体もファイル操作命令や関数が備わっているため、実際の実装については、実用面からHSPやExcel標準の関数等 を利用した方が良いと思います。 2.サンプル 2-1.日付と時刻のプロパティを表示させる タスクトレイにある時計の日付と時刻の調整から起動される日付と時刻のプロパティをプ ログラム上から表示します。 WSHでは、シェルのSetTimeメソッドという便利なもが提供さ れています。 HSPでは、 newcom命令でShellApp変数とWshShell変数を COMオブジェクト型として初期化したのち、シェルのSetTime メソッドで日付と時刻のプロ パティを表示起動させます。 ;***** 日付と時刻のプロパティを表示 ***** newcom ShellApp, "Shell.Application" newcom WshShell, "WScript.Shell" ;▼日付と時刻のプロパティ ShellApp->"SetTime" wait 100 ret = WshShell("AppActivate", "日付と時刻") delcom WshShell delcom ShellApp stop '***** 日付と時刻のプロパティを表示 ***** Sub TimeDateprop() Dim wsh, ShellApp As Object Set wsh = CreateObject("Wscript.Shell") Set ShellApp = CreateObject("Shell.Application&

HSPとExcel VBAで情報取得 (その2)

イメージ
1.概要 HSP3やExcel VBAによるCOMオブジェクトの活用事例としての第二弾です。 今回は、前回記事に引き続き、外部ファイルを任意の実行時モードで起動、ディレクトリ名を指定してエクスプローラを起動 するなどのサンプルを作成して紹介します。特殊フォルダのパス定義定数は0~21まであり、1つ1つのパスを取得・確認するために ボタンを配置して確認するようにしていますが、HSPとExcel VBAでは、等価の処理として記述するためにクリックしたボタン のボタンID(番号)で判別するようにしています。 2.サンプル 2-1.外部ファイルを任意の実行時モードで起動させる HSPの標準命令では、exec命令という実行時のモードに応じたアプリケーションの起動ができる便利な命令があります。 これは、外部ファイルを指定された実行時のモードで起動させることができるものです。モードは次のものが指定できます。 モード0 : HSPノーマル実行 モード2 : 最小化モードで実行 モード16 : 関連付けされたアプリケーションを実行 モード32 : 指定したファイルを印刷する このモードは、モード値を組合せて指定することもできますが、最大化した状態での起動や非表示での起動といったものができません。 ここでは、WSHの Runメソッドを利用して様々な実行時制御を実現させます。 また、プログラムの実行が終了するまでスクリプトを待機させるかどうかを示すブール値が指定できます。 HSPでは、newcom命令でWshShell変数をCOMオブジェクト型として初期化したのち、 Runメソッドで実行するコマンド ラインを示す文字列値である実行ファイルのファイル名を含む渡すべきパラメータを指定します。 そして、実行時モードの定数と、実行終了待ちをするかどうかのブール値を指定しています。 Runメソッドで指定できる実行時モードは、全部で11種類ありますが、サンプルにおいては主な6種類のモードを定義してあります。 実際の動作としては、メモ帳 (notepad.exe)を最大化状態で、かつ、終了実行待ちの状態で起動させます。 Runメソッドによる実行モード モード 意 味 0  タスクバーには表示されません。

HSPとExcel VBAで情報取得 (その1)

イメージ
1.概要 クライアント環境で保持されている固有情報の取得や特殊フォルダーのパスの取得、ウィンドウを任意の表示モードで整列など WScript.ShellのメソッドとShell.Applicationメソッドの各プロパティによるパラメータを渡して 情報の取得・参照や操作を行います。WScript.Shellのメソッドは、ショートカットの作成やアプリケーションの実行、 レジストリの操作などの機能が提供されています。今回は、上記の機能についてHSPとExcel VBAでサンプルを作成して 比較して行きたいと思います。 2.サンプル 2-1.クライアント環境で保持されている固有情報を取得する 環境変数とは、OSのシェルなどに設定されているシステムの各種情報を保持している文字列変数のことです。 これらの情報は設定や変更、追加が可能です。プログラムから参照するためにクライアントの固有情報として 取得しておくと 利用環境に左右されにくい処理を行なうことが可能となります。 取得方法ですが、 WSHのExpandEnvironmentStringsメソッドを使います。 このメソッドは、PROCESS 環境領域に定義された環境変数のみを展開し、環境変数名を "%" で囲むことによって 値を取得することができます。 また、環境変数名は、大文字と小文字は区別されません。 環境変数%OS%ですが、HSPおよびExcel VBAでもWindows NTと取得されますので、Windows APIなど別の方法で 取得するしかありません。 ;***** 環境変数の取得 ***** newcom WshShell, "WScript.Shell" sdim Env,6,512 Env(0) = WshShell("ExpandEnvironmentStrings","comspec : %COMSPEC%") Env(1) = WshShell("ExpandEnvironmentStrings","SystemRoot : %SystemRoot%") Env(2) = WshShell("ExpandEnvir

HSPとExcel VBAで情報取得 (COMオブジェクトの活用)

イメージ
1.概要 HSP3やExcel VBAでは、COM(コンポーネント・オブジェクト・モデル)が操作できます。 比較的簡単なパラメータを与えるだけで、Windows が持つシステムコンポーネントやフリーで公開されている 各種コンポーネントの機能を利用することでき ます。 HSP3が提供している命令群では、 COMオブジェクトの作成とインターフェースの取得、インターフェース ポインタからのメソッドの呼び出しなど豊富なオブジェクトアクセ ス手段が 提供されています。Excelにおいても、同じです。今回は、HSP3とExcel VBAを比較しながら 機能の確認をするためにCOM操作の入門として比較的移植や理解のしやすい WSH (Windows Script Host(以下WSH) を取り上げて見ました。WSHは、Windowsが標準でサポートするスクリプト環境で、テキストベースのスクリプトを 記述することで、従来のバッチに代わるものとして、GUI環境に頼らずにWindows環境でさ まざまな処理を実行できます。 尚、 具体的なサンプル例などについては、何回かに分けて紹介していく予定 です。 2.WSH(VBScript)の活用法について WSHではスクリプト言語として、VBライクな言語であるVBScriptや、 JavaScriptライクなJScriptを標準で利用できます。 どちらのスクリプト言語を利用しても機能的には大き な違いはありません。HSP3からは、次のCOM関連命令を使って制御します。 HSP3のCOMオブジェクト操作関連命令 No. 命令 役割 1  newcom命令  COMオブジェクト型変数の新規作成 2  delcom命令  COMオブジェクト型変数の破棄 3  comres命令  メソッド返値代入変数を設定する 4  mcall命令  メソッドの呼び出し 5  comevent命令  COMイベントの取得開始 6  querycom命令  COMオブジェクト型変数の作成 7  axobj命令  ActiveXコントロールの配置 8  sarrayconv命令  Variant型との一括変換を行なう

TOP