Win版でフィールド値をエクス(イン)ポートファイル名にする2 Tips

作成日時 :3/3/01 19:00 

1. 必要な環境

WSH

  1. Windows98以上は標準装備してあります。
  2. Windows95の場合は、インストールする必要があります。
    http://www.asia.microsoft.com/japan/developer/scripting/default.htm

AutoItX

  1. AutoItXはAutoItのActiveXコントロールバージョンです。次のような機能を実現することができます。
    ・キーストロークおよびマウス・クリック(すべてのキャラクターおよびキーボード・レイアウト、独立している)を送ること。
    ・ウィンドウ機能(例えば、隠れて、最小限にすること、回復する、待つこと、のために、活性化すること(Win98/NT2000の下でさえ))。
    ・Sleep (WSH 1.0を備えたもののための:)INIファイル読み、および記述。
    ・単純なクリップボード(テキスト)コマンド。
    ・シャット・ダウンとリブートのコマンド(9xおよびNTの両方の下で働く、緊急のリブートを含む。
  2. 入手先は、http://www.hiddensoft.com/AutoIt/ です。
  3. AutoItXは、「regsvr32.exe」を使ってご使用のパソコンに登録する必要があります。

FilenNamePaste.vbs

  1. インポート・エクスポートのダイアログにクリップボードにコピーしたパスをペーストするためのVBSです。

    Set oAutoIt = CreateObject("AutoItX.Control")
    Text = oAutoIt.ClipGet()
    oAutoIt.Send Text
    oAutoIt.Send "{ENTER}"

 

2. 実際の連係動作の概要説明

●ファイルメーカーProとWSHとAutoItXの連係動作説明

  1. エクス(イン)ポート実行スクリプトを起動させます。
  2. エクス(イン)ポートしたいテキストファイルのファイル名が用意してあるフィールドからファイル名をコピーします。
    ※このファイル名はフルパスにしておきます。
  3. FilenNamePaste.vbsを起動させます。
  4. 起動とほぼ同時にレコードの「ファイルへのレコードのエクス(イン)ポート」ダイアログが表示されます。
  5. FilenNamePaste.vbsが動作し、ファイル名のテキストエリアに 2. でコピーしたファイル名をペーストします。
  6. FilenNamePaste.vbsが自動で保存ボタンを押します。
  7. FilenNamePaste.vbsが自動で終了します。
  8. エクス(イン)ポートが実行され、指定した名前のファイルが指定の場所に作成(インポート)されます。

 

3. スクリプト定義

●スクリプト定義

  1. エクス(イン)ポートファイルのファイル名にしたいフィールド値をコピーします。
  2. メッセージを送信を使って FilenNamePaste.vbs を起動します。
  3. 対象アプリケーションを手前に表示オプションは無効(チェックを外す)にします。
  4. レコードのエクス(イン)ポート[記録する、ダイアログなし、ファイル指定なし]を設定します。
  5. 2.と4.の順番が逆のような気がすると思いますが、4.を先に実行してしまうとエクス(イン)ポートのダイアログが表示されている間、スクリプトが一時停止してしまうのを防ぐためにあえて逆にしています。

 

4. ご質問等は

kipwmiのファイルメーカー会議室へお気軽にどうぞ!

作者:村山清隆 E-mail:murayama@kipwmi.com URL:http://www.kipwmi.com/

ご意見、ご質問、ご依頼など どうぞお気軽にメールして下さい。 info@kipwmi.com