Q15:外部プログラム通信コンポーネントで、OfficeファイルやPDFファイルは固定値指定で該当するアプリケーションが起動できますが、音声ファイル(WAV,MP3)や画像ファイル(JPEG,BMP)は固定値指定ではアプリケーション(ウィンドウズメディアプレーヤとかペイントツール)が起動せずエラーとなってしまいます。使用が可能なのでしょうか。
A15:
2)[外部プログラム通信]で外部アプリケーションを起動するメソッドには
@「標準のアプリケーションでファイルを開く(File)」
A「通信先プログラムの設定(String)」を行い、「対話モードでの通信先プログラムの起動()」
の主に2つがあります。
@では、Windowsユーザー名に全角スペースがあるものを設定すると(例:「さん□そうた」)マイドキュメント等にあるファイルへのパスが通らず、目的のファイルは起動できません。制限事項とご理解下さい。
固定値でファイルへのパスを指定する場合には念のため両端を「"」で囲ってください。
手元のマシーンで試してみたのですが、画像ファイルに関しては、「MicrosoftOfficePictureManager」、「Windows 画像と FAX ビューア」、「Paint」等の何らかのアプリケーションが立ち上がり、画像が表示されない現象は確認できませんでした。
「標準のアプリケーションで・・・」は「ファイルの関連付け」がされているプログラムでファイルを起動するものですので、今一度ファイルの関連付けもご確認下さい。
一方、WinodwsMediaPlayerに関連付けられているファイルを起動することは、バージョンにもよりますが、上手くいきませんでした。他のPlayer(RealPlayerやMediaCenter)は起動できたので、もう少し検証してみますが、MediaPlayerに起因するものかとも考えております。
Aの「通信先プログラムの設定(String)」の引数にはEXEファイルまでのパスに続けて、開きたいファイルへのパスを一文字空白の後指定してください。
「C:\Program Files\Windows Media Player\wmplayer.exe(一文字空白)"C:\Documents and Settings\All Users\Documents\My Music\Sample Music.wma"」
といった形になります。
WordファイルやPDFファイルを開く時も、「WINWORD.EXE」などへのパスを先に指定します。
既に外部プログラムが起動されていると、エラーが発生するので、「通信先プログラムの終了()」を「通信先プログラムの起動()」前に行う必要があります。
この方法ではWinowsMediaPlayerも起動することができました。但し問題点としては各EXEファイルの位置がOSやバージョン等の環境によって違う場合があり、見つからない場合はエラーが発生します。
ご連絡:
こちらでAの手法で実施してみたところ、音声ファイルの起動が確認できました。
とりあえずこの方法で設定をするようにしたいと思います。画像ファイルに関してはプログラムの関連付け指定で正常起動できるのをこちらでも確認ができました。