IE.Navigateナビゲート メソッド

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

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:///」の後にファイルのパスを指定することで開くことができます。

UWSC
IE.Navigate("file://D:\Desktop\index.html")
IE.Navigate("file:///D:\Desktop\index.html")

テキストファイルの場合はブラウザで開かれ、その他のファイルの場合はダイアログが表示され「開く」を選択した場合関連付けられているアプリで開かれます。Navigateの引数にurlのみを指定しダイアログが表示された場合は選択肢を選ぶまで処理は待機されます(同期処理)。第二引数に「$800」を指定することで処理を待機せずに進めることができます(非同期処理)。

ダイアログは以下の処理で選択することができます。必要な選択肢の処理のみ記述してください。

UWSC
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」のサイトにログインする例。

UWSC
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
HTML
<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トップページの特定の文字を赤太字にする。

UWSC
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を使った例

UWSC
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での検索結果を取得

UWSC
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トップページのメニューを取得

UWSC
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
[syntaxHighlight language="HTML"]
  • ショッピング
  • PayPayモール
  • ヤフオク!
  • PayPayフリマ
  • ZOZOTOWN
  • LOHACO
  • トラベル
  • 一休.com
  • 一休.comレストラン
  • ニュース
  • 天気・災害
  • スポーツナビ
  • ファイナンス
  • テレビ
  • 映画
  • GYAO!
  • ゲーム
  • Yahoo!モバゲー
  • ebookjapan
  • 占い
  • 地図
  • 路線情報
  • Retty
  • クラシル
  • 不動産
  • 自動車
  • TRILL
  • パートナー
[/syntaxHighlight]
結果
プレーンテキスト
ショッピング
PayPayモール
ヤフオク!
PayPayフリマ
ZOZOTOWN
LOHACO
トラベル
一休.com
一休.comレストラン
ニュース
天気・災害
スポーツナビ
ファイナンス
テレビ
映画
GYAO!
ゲーム
Yahoo!モバゲー
ebookjapan
占い
地図
路線情報
Retty
クラシル
不動産
自動車
TRILL
パートナー
使用関数

気象庁のホームページから一月分の気温を取得しExcelでグラフを作成

UWSC
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
結果
2020年8月気温.png
使用関数

Yahoo! JAPANのトップページからショッピングのリンクをクリックする

UWSC
DIM IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = TRUE
IE.Navigate("http://www.yahoo.co.jp")
BusyWait(IE)

IELINK(IE, "ショッピング")
BusyWait(IE)
使用関数

環境センサーから位置情報を取得し、Googleマップで表示

UWSC
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 メソッド
指定されたリフレッシュレベルで現在表示されているファイルを再読み込みします。