本ページには広告が含まれています。
目次
URLまたは絶対パスで指定されたファイルを開きます。
- 構文
- InternetExplorer.Navigate( url, Flags, TargetFrameName, PostData, Headers )
- 引数
- url 必須
- 文字列を表示するリソースのURL
- Flags 省略可
- ウィンドウの詳細設定
- 1($1)
- 新しいウィンドウで開く
- 2048($800)
- 新しいタブで開く
- TargetFrameName 省略可
- ウィンドウの表示設定
- _blank
- 新規のウィンドウに表示
- _self
- 現在のフレーム(ウィンドウ)に表示
- _parent
- 親フレームに表示
- _top
- フレーム分割を解除してウィンドウ全体に表示
- フレーム名、ウィンドウ名
- 任意のフレーム(ウィンドウ)に表示
- PostData 省略可
- POSTの送信先へこちらで設定したデータを送信します。ENCODEでバイト配列の型(ANSI)に変換した文字列を「名前=値&名前=値...」の形式で指定。
- Headers 省略可
- HTTPヘッダーに送信するデータ設定。PostDataを渡すときは「Content-Type: application/x-www-form-urlencoded」を指定
- 戻り値
ローカルにあるファイルを指定する
urlにローカルファイルのアドレスを指定する場合は、「file://」もしくは「file:///」の後にファイルのパスを指定することで開くことができます。
IE.Navigate("file://D:\Desktop\index.html")
IE.Navigate("file:///D:\Desktop\index.html")
テキストファイルの場合はブラウザで開かれ、その他のファイルの場合はダイアログが表示され「開く」を選択した場合関連付けられているアプリで開かれます。Navigateの引数にurlのみを指定しダイアログが表示された場合は選択肢を選ぶまで処理は待機されます(同期処理)。第二引数に「$800」を指定することで処理を待機せずに進めることができます(非同期処理)。
ダイアログは以下の処理で選択することができます。必要な選択肢の処理のみ記述してください。
DIM ID = GETID(“Internet Explorer”, “#32770”)
CLKITEM(ID, “開く”, CLK_BTN)
CLKITEM(ID, “保存”, CLK_BTN)
CLKITEM(ID, “名前を付けて保存”, CLK_BTN)
CLKITEM(ID, “キャンセル”, CLK_BTN)
ログインフォーム入力例
メールアドレスが「info@example.com」、パスワードが「12345678」のサイトにログインする例。
HASHTBL data
// 送信するデータを「data[名前] = 値」の形式で指定
data["mail"] = "info@example.com"
data["pass"] = "12345678"
// 「mail=info@example.com&pass=12345678」がバイト配列に変換される
DIM PostData = encodePostData(data)
DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
DIM Headers = "Content-Type: application/x-www-form-urlencoded"
IE.Navigate("http://example.com/index.php", , , PostData, Headers)
FUNCTION encodePostData(data[])
DIM array[LENGTH(data)]
FOR i = 0 TO LENGTH(data) -1
array[i] = data[i, HASH_KEY] + "=" + ENCODE(ENCODE(data[i, HASH_VAL], CODE_UTF8), CODE_URL)
NEXT
RESULT = ENCODE(JOIN(array, "&"), CODE_BYTEARRAY)
FEND
<form action="/index.php" method="post">
<span>メールアドレス:</span>
<input type="text" name="mail">
<span>パスワード:</span>
<input type="password" name="pass">
<input type="submit">
</form>
プログラム実行例
bodyタグを書き換える
Yahoo! JAPANトップページの特定の文字を赤太字にする。
DIM IE = IEBoot()
IE.Navigate("www.yahoo.co.jp")
BusyWait(IE)
DIM body = IEGETSRC(IE, "body")
DIM array[] = "、", "。", "!", "?", "…", "・"
FOR item IN array
body = REPLACE(body, item, "<span style=<#DBL>color: red; font-weight: bold;<#DBL>>" + item + "</span>")
NEXT
PRINT IESETSRC(IE, body, "body")
使用関数
GoBackとGoForwardを使った例
DIM IE = IEBoot()
IE.Navigate("http://www.google.com")
BusyWait(IE)
IE.Navigate("https://www.yahoo.co.jp")
BusyWait(IE)
IE.GoBack
BusyWait(IE)
SLEEP(5.000)
IE.GoForward
BusyWait(IE)
SLEEP(5.000)
IE.Quit
使用関数
解説
Googleでの検索結果を取得
DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("http://google.com")
BusyWait(IE)
IESETDATA(IE, INPUT("検索ワードを入力"), "q")
IESETDATA(IE, TRUE, "btnK")
BusyWait(IE)
DIM elements = IE.document.getElementsByClassName("rc")
FOR element IN elements
PRINT element.getElementsByClassName("LC20lb").Item(0).textContent
PRINT element.getElementsByClassName("s").Item(0).textContent
PRINT "----------"
NEXT
IE.Quit
使用関数
Yahoo! JAPANトップページのメニューを取得
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("http://yahoo.co.jp")
BusyWait(IE)
DIM element = IE.document.getElementById("ToolList")
DIM elements = element.getElementsByTagName("li")
FOR element IN elements
PRINT element.textContent
NEXT
IE.Quit
- ショッピング
- PayPayモール
- ヤフオク!
- PayPayフリマ
- ZOZOTOWN
- LOHACO
- トラベル
- 一休.com
- 一休.comレストラン
- ニュース
- 天気・災害
- スポーツナビ
- ファイナンス
- テレビ
- 映画
- GYAO!
- ゲーム
- Yahoo!モバゲー
- ebookjapan
- 占い
- 地図
- 路線情報
- Retty
- クラシル
- 不動産
- 自動車
- TRILL
- パートナー
結果
ショッピング
PayPayモール
ヤフオク!
PayPayフリマ
ZOZOTOWN
LOHACO
トラベル
一休.com
一休.comレストラン
ニュース
天気・災害
スポーツナビ
ファイナンス
テレビ
映画
GYAO!
ゲーム
Yahoo!モバゲー
ebookjapan
占い
地図
路線情報
Retty
クラシル
不動産
自動車
TRILL
パートナー
使用関数
気象庁のホームページから一月分の気温を取得しExcelでグラフを作成
CONST xlUp = -4162
CONST xlLineMarkers = 65
DIM year = 2020
DIM month = 8
DIM IE = IEBoot()
IE.Navigate("https://www.data.jma.go.jp/obd/stats/etrn/view/daily_s1.php?prec_no=14&block_no=47412&year=" + year + "&month=" + month + "&day=&view=p1")
BusyWait(IE)
DIM array[-1][-1]
DIM element = IE.document.getElementById("tablefix1")
getTableData(element, array)
IE.Quit
DIM Excel = XLOPEN()
DIM SheetName = Excel.ActiveSheet.Name
XLSETDATA(Excel, array, "A1")
DIM row = Excel.Cells(Excel.Rows.Count, 1).End(xlUp).Row
DIM Charts = Excel.Charts.Add
WITH Charts
.ChartType = xlLineMarkers
.SeriesCollection.NewSeries
.HasTitle = TRUE
.ChartTitle.Text = "札幌 " + year + "年" + month + "月気温"
WITH .FullSeriesCollection(1)
.XValues = "=Sheet1!$A$5:$A$35"
.Name = "=<#DBL>最高気温<#DBL>"
.Values = "=Sheet1!$H$5:$H$35"
WITH .Format
.Fill.ForeColor.RGB = 255
.Line.ForeColor.RGB = 255
ENDWITH
ENDWITH
WITH .FullSeriesCollection(2)
.XValues = "=Sheet1!$A$5:$A$35"
.Name = "=<#DBL>最高気温<#DBL>"
.Values = "=Sheet1!$I$5:$I$35"
WITH .Format
.Fill.ForeColor.RGB = 16711680
.Line.ForeColor.RGB = 16711680
ENDWITH
ENDWITH
ENDWITH
結果
使用関数
Yahoo! JAPANのトップページからショッピングのリンクをクリックする
DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("http://www.yahoo.co.jp")
BusyWait(IE)
IELINK(IE, "ショッピング")
BusyWait(IE)
使用関数
環境センサーから位置情報を取得し、Googleマップで表示
DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
DIM latitude = SENSOR(SNSR_Location_Latitude)
DIM longitude = SENSOR(SNSR_Location_Longitude)
IE.Navigate("https://www.google.co.jp/maps/@" + latitude + "," + longitude + ",15z?hl=ja")
BusyWait(IE)
// 終了する
// IE.Quit
使用関数
関連記事
- Shell.Explore メソッド
- 指定したディレクトリをエクスプローラで開きます。
- FSO.GetExtensionName メソッド
- 指定したパスの最後のコンポーネントのファイル拡張子名を返します。
- FSO.GetFolder メソッド
- 指定したパスのFolder オブジェクトを返します。
- File.Path プロパティ (FSO)
- 指定したファイルのパスを返します。
- getBitmap関数 (自作関数)
- 引数に指定したビットマップ画像のサイズ・幅・高さ・ビットの深さを配列で返します。
- ShellLinkObject.Path プロパティ (Shell)
- リンク オブジェクトへのパスを取得または設定します。
- BusyWait関数 (自作関数)
- IEオブジェクトの読み込みが完了するのを待ちます。
- IE.ExecWB メソッド
- コマンドを実行します。
- IE.GoForward メソッド
- 履歴リストの1つ後の項目に移動します。
- IE.Refresh2 メソッド
- 指定されたリフレッシュレベルで現在表示されているファイルを再読み込みします。