Word (VBA)

Word VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Microsoft 365)
PCにインストールされているアプリケーションのインストール日付
投稿日時: 23/06/23 12:55:04
投稿者: ストロベリー

VBAからPCにインストールされているアプリケーションのインストール日付を秒まで取得することができますでしょうか?
 
PCに複数バージョンのイラストレーターが存在しています。
CreateObjectで最後にインストールされたイラストレーターが起動されますが、
「実行時エラー ‘429’:ActiveXコンポーネントはオブジェクトを生成できません」が発生したりして、
CreateObjectでイラストレーターのバージョンまで指定すると、起動できます。
 
どのバージョンが一番最後にインストールされたのかを知りたくて、まだちゃんと理解できていませんが、
WbemScripting.SWbemLocatorでイラストレーターの"InstallDate"を取得できました。
しかし、これが年月日のみで、同じ日に二つのバージョンのイラストレーターをインストールしていたら、
どれが最後にインストールされたものかわからないです。
 
インストール日付を秒まで取得できれば、最後にインストールされたものがわかると考えていますが、
何か方法がありますでしょうか?
 
よろしくお願いします。
 
 

回答
投稿日時: 23/06/23 13:25:58
投稿者: QooApp

バージョン違いのアプリケーションを起動する場合、対象までのディレクトリの違いを比較したらどうでしょうか。
 
例えば
24.5.1というバージョンと
26.3.3というバージョンがある場合、
 
¥ illustrator ¥ 24.5.1 ¥ illustrator.exe
¥ illustrator ¥ 26.3.3 ¥ illustrator.exe
ファイルの保存場所の違いが必ずあるはずです。
 
アプリケーション名の指定をする際にディレクトリの指定をするのはいかがでしょうか。
私はillustratorの制御は専らJavascriptの.jsxファイルからしかリクエストしないのでVB側の細かいことまで申し上げられませんが、アプリケーションの指定自体にパスを上乗せするのが楽だと思います。

投稿日時: 23/06/23 14:30:35
投稿者: ストロベリー

QooApp 様
 
早速お返事をいただき、ありがとうございます。
 
一番最後にインストールされたイラストレーターをバージョン指定で起動したいと思っていますが、
お返事にあったディレクトリの話で、イラストレーターのディレクトリが作成された日付が秒までの情報がありますので、これを調べれば、最後にインストールされたイラストレーターがわかると思いました。
 
これからやってみたいと思います。
ありがとうございました。