※本ソフトの公開・サポートは終了しました。
ホーム > スクリプト作成入門 > フォームを送信(submit)する方法

フォームを送信(submit)する方法

(目次)

1.概要

ここをクリックすると文字入力ダイアログが開きます。

ここでは、スクリプトでフォームを送信する方法を解説します。

一番簡単なのは、formオブジェクトのsubmitメソッドを使用する方法です。
但し、submitメソッドでは上手く動作しない場合(Webページ内でスクリプトを使用している場合など)は、送信ボタンをクリックする動作をスクリプトで実行する必要あります。

以下、2つの方法について解説します。

テキスト

テキストエリア

CheckBox 1-1 CheckBox 1-2

CheckBox 2

Radio 1-1 Radio 1-2 Radio 1-3

Select1

Select2 複数選択不可

Select3 複数選択可

 

2.formオブジェクトのsubmitメソッドを使用する方法

一番簡単なのは、formオブジェクトのsubmitメソッドを使用する方法です。以下に例を示します。

ActiveDocument.Forms("form1").submit

この方法は、フォーム送信にスクリプトを使用している場合に上手く動作しない可能性があります。

3.フォームの送信ボタン(画像も含む)をクリックする方法

ここでは、フォームの送信(「ログイン」や「検索」)ボタンをクリックするスクリプトの作成方法を解説します。

「スクリプトの記録」機能を使用すれば、簡単に送信ボタンをクリックするスクリプトを作成できます。以下に手順を紹介します。

  1. スクリプトパネルで「スクリプトの記録()」をクリックしてスクリプトの記録状態にします。
  2. 目的のフォームの送信(「ログイン」や「検索」)ボタンをクリックします。
  3. すると、[記録されたスクリプト欄]に複数行のスクリプトが記録されます。ここで必要なのは、最後のほうに記録されている最後が「〜.click」で終わる行です。
    下に例を2つ示します。
    SearchInputValue(ActiveDocument.Forms("jisyo"), "英和", 0).Click
    SearchImgAlt(ActiveDocument.Forms(0), "サイト内検索", 0).Click
    フォームのボタンをクリックした場合SearchInputValueで始まる行が記録され、画像をクリックした場合は、SearchImgAltで始まる行が記録されると思います。また、他の形式で記録される場合もあります。
    リンクや画像をクリックするスクリプトについては「リンクをクリックするには」の解説も参考にしてください。
  4. 上で確認した「〜.click」で終わる行がフォームを送信するスクリプトとなります。
  5. スクリプトパネルで「スクリプトの記録()」をクリックしてスクリプトの記録状態を解除します。

4.フォームを送信するスクリプトの例1

フォームを送信するスクリプトの例です。

Yahoo!のページを新しいタブで開いた後にScriptBrowserKという語句を検索します。

最後の行「Window1.document.Forms("sf1").submit」は「SearchImgAlt(Window1.document.Forms("sf1"), "検索", 0).Click 」に置き換えても動作します。

Set Window1 = NavigateNew("http://www.yahoo.co.jp/")  ' 新しいタブでYahoo!のホームページを開きます
Window1.SetFocus  ' 新しく作成したタブをアクティブにします
Window1.document.Forms("sf1").Elements("p").Value = "ScriptBrowserK"
Window1.document.Forms("sf1").submit

5.フォームを送信するスクリプトの例2

フォームを送信するスクリプトの例です。

googleのページを新しいタブで開いた後にScriptBrowserKという語句を検索します。

Set Window1 = NavigateNew("http://www.google.co.jp/")  ' 新しいタブでGoogleのホームページを開きます
Window1.SetFocus  ' 新しく作成したタブをアクティブにします
Window1.document.Forms("f").Elements("q").Value = "ScriptBrowserK"
Window1.document.Forms("f").Elements("btnG", 0).Click

以上です。

2007/05/21

Copyright (c) 2011 Akiyoshi Kozuka (http://www.scriptbrowserk.com/)