DROPFILE関数

本ページには広告が含まれています。

ウィンドウにファイルをドラッグ&ドロップして開きます。第二引数に数値を指定した場合は座標と判断されます。

構文
  1. void = DROPFILE( ID, ディレクトリ, ファイル名, ファイル名, ファイル名, … )
  2. void = DROPFILE( ID, x, y, ディレクトリ, ファイル名, ファイル名, ファイル名, … )
引数
ID (Integer)必須
ドロップする相手先
x, y (Integer)必須
第2引数と第3引数が数値であれば ドロップ位置 X, Yと判断(デフォルトは中央)
ディレクトリ (String)必須
ファイルのあるディレクトリ
ファイル名 (String,Array)必須
ドロップするファイル名(配列変数で渡す事も可)
戻り値

使い方

メモ帳を起動し、C:\Program Files (x86)\UWSC\Readme.txtをアプリにドラックします。

UWSC

DROPFILE関数はディレクトリ名とファイル名を分けて引数に指定する必要があるので、パス名から指定したい場合はFileSystemObject オブジェクトFSO.GetParentFolderName メソッド(フォルダ名)とFSO.GetFileName メソッド(ファイル名)を使います。

UWSC

ファイルのドロップ位置

x,yを省略した場合、ウィンドウの中央にファイルがドラッグ&ドロップされます。中央ではない位置にドロップしたい場合は座標を指定する必要があります。

以下のプログラムで現在のカーソル位置を調べることができます。ファイルをドロップする位置を調べるのに使ってください。

UWSC

またウィンドウのサイズや位置にドロップする位置がうまく指定できない場合があるので、DROPFILE関数の直前、もしくはウィンドウのIDを取得した直後にウィンドウを最大化しておくと良いです。

UWSC

ウィンドウのサイズや位置から計算する方法もあります。

UWSC

ratioXratioY01の範囲の数値を指定することで、ウィンドウ左上からの右下の範囲の位置を割合で指定することができます。ratioX0でウィンドウの左端、値を大きくしていくと右側に近づいていき1で右端となります。ratioY0でウィンドウの上端、値を大きくしていくと下側に近づいていき1で下端となります。offsetXoffsetYは微調整したいときに値を指定してください。

ウィンドウ中央はratioX=0.5(50%)、ratioY=0.5(50%)を指定します。

UWSC

ウィンドウ右端から10px左、縦位置はウィンドウ中央。

UWSC

ウィンドウ左端から10px右、上端から20px下。

UWSC

ダイアログ

ファイルのドロップ時にダイアログが表示される場合は、処理がDROPFILE関数から先に進まなくなってしまいます。ダイアログを手動で操作するか、指定Windowが現れた時でスケジュール設定を行う必要があります。

以下はFormat FactoryD:\Music\SamplesにあるファイルをWMA形式に変換するプログラムです。

Format Factoryの起動画面

Format Factory Format Factory_ファイルをドロップする位置
UWSC

上に書いたプログラムだけではDROPFILE関数で現れるダイアログ(Class:#32770)によって処理が止まってしまうので、以下のスクリプトをUWSCのスケジュールに設定します。条件は[指定Windowが現れた時]でClass#32770を指定することで、DROPFILE関数による操作で現れるFormat Factoryのダイアログで処理を止めることなく実行できます。GET_SCEDULE_WINはスケジュール設定で取得したウィンドウを表します。

UWSC

DROPFILE関数でファイルをドロップしたときに表示されるダイアログ。オーディオ->WMAを選択し、OKボタンをクリックします。

Format Factory_ダイアログ

スケジュールを以下のように設定します。

Format Factory_スケジュール設定

ファイルが追加されたあとの画面。

Format Factory_ファイル追加後

完了通知

Format Factory_完了通知

Format Factoryに追加するファイル。

Format Factory_追加するファイル

プログラム実行例

テキストファイルをメモ帳にドロップします

C:\Program Files (x86)\UWSC\Readme.txtをメモ帳にドラッグ&ドロップして開きます。

UWSC
使用関数

画像ファイルをペイントにドロップします

D:\Desktop\sample.pngをペイントにドラッグ&ドロップして開きます。

UWSC
使用関数

ExcelファイルとCSVファイルをExcelにドロップして開く

CREATEOLEOBJで起動したExcelにファイルをドロップするとなぜか落ちるから、EXECで起動。

UWSC
使用関数