(岡三RSS)UWSCを使って岡三RSSへの自動ログインを行う
UWSCを使った岡三証券へのログインのやり方を紹介します。
岡三RSSは便利な機能ではありますが、岡三RSSのみで証券会社の機能がすべて使えるわけではありません。
そのため、WINDOWSの自動操作ソフトであるUWSCを使って、機能を補完していくのが良いと私は信じています。
そこですべての基本である、UWSCの自動操作で岡三証券へログインしてみましょう。
【目次】
岡三オンライン証券ログインまでの操作方法
①ログイン画面にアクセス
②IDとPASSWORDをインプット
③ログインボタンをクリック
④OKボタンをクリック
岡三オンライン証券ログインのUWSCプログラム
上記の操作方法に従い、UWSCを動かしてみます。HPの構成が変更されたら動かなくなりますので各自の責任で動かしてみてください。
IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("https://j-trading.okasan-online.co.jp/web/") BusyWait(IE) IESetData(IE,"ID","loginTuskLoginId") // TEXT IESetData(IE,"PASSWORD","gnziLoginPswd") // TEXT logintags=IE.document.getElementsByTagName("input") FOR I = 0 TO logintags.length - 1 IFB logintags.Item(I).Alt = "ログイン" THEN logintags.Item(I).Click() ENDIF NEXT BusyWait(IE) OKtags=IE.document.getElementsByTagName("input") FOR J = 0 TO OKtags.length - 1 IFB OKtags.Item(J).Alt = "OK" THEN OKtags.Item(J).Click() ENDIF NEXT BusyWait(IE) Procedure BusyWait(ie) Sleep(0.5) // Wait Const TIME_OUT = 90 tm = Gettime() repeat Sleep(0.2) ifb Gettime() - tm > TIME_OUT MsgBox("Time Out:BusyWait") ExitExit endif until (! ie.busy) and (ie.readyState=4) Sleep(0.5) Fend IE.Navigate("about:blank") // INPUT
(スクレイピング)UWSCで自動的にWEBページをクリックする方法
さまざまなWEBページがありますが、ウェブページの中の一部分をクリックする動作を作るニーズは結構あるものと思います。
そんなウェブページのクリックに関して、実行方法をまとめておきたいと思います。
【目次】
タグから絞り込んでいく
次は証券会社のログインボタンを押すという一連の動作をUWSCの命令構文に落とし込んでみようと思います。
例にするのは岡三証券のログイン画面でログインボタンを押すというものですね。
IEを立ち上げてWebページに移動する構文は下記になります。
IE = CreateOLEObj("InternetExplorer.Application") IE.Visible = True IE.Navigate("https://j-trading.okasan-online.co.jp/web/")
以上が岡三証券のログイン画面に移動するためのプログラミング分です。IEにオブジェクトを設定し、URLまで移動するという命令文になっています。
次にログインと書いてあるボタンを押す作業に入りましょう。
ボタンをGOOGLE CHROMEでログインボタンを指定し、要素を見てみましょう。
(右クリックの中に項目があります。)
<input type="image" name="buttonLogin" src="https//member.okasan-online.co.jp/stastic contents/web/images/form/btn/btn login.gif" value="ログイン" alt="ログイン"> <|| このように記載されています。ここからinputタグの中身であるという事が分かり、その中に"name"、"src"、"value"、"alt"がそれぞれ名づけられて存在していることが分かります。 inputを取得しその中で要素の中で指定していくとうまくいきそうです。 今回はaltがログインという特徴を使ってプログラムを書いていきます。 >|vb| logintags=IE.document.getElementsByTagName("input") FOR I = 0 TO logintags.length - 1 IFB logintags.Item(I).Alt = "ログイン" THEN logintags.Item(I).Click() ENDIF NEXT
inputタグをすべて取得し、その中からalt属性が"ログイン"であるかどうか一つづつ確認し、該当するものがあればクリックするという仕組みになっています。
最後は座標指定
上記でエラーが出る場合には、座標を左クリックするようにすれば目的は達せられます。
【VBA】リストに重複しているデータを両方(3つ以上はすべて)削除する方法
エクセルの2000、2003のバージョンでは重複しているデータを無視するということができたらしいですが、それ以降のバージョンで重複しているデータをすべて削除する方法を工夫してみました。
方向としてはExcelでできる処理をVBAに乗せていくというわかりやすい方法で進めたいと思います。
【目次】
Excelで重複しているデータを判別する方法
A列のデータで重複するものがあるかどうかのチェック方法
=COUNTIF(A:A,A1)
A1セルの内容がA列に何個あるか数えるという処理方法です。これが式の答えが2以上であれば、重複しているという事になります。
2つの列データで確認したい場合
2つにデータがまたがっている場合には1列にしましょう。その時にどちらの列のデータなのかが分かるように隣に数字や記号を打っておくと良いと思います。
これで重複している2以上のデータを削除すればOKです。
VBAにしてみる
A列にデータがあるとしてVBAを書いてみます。
sub 重複両方削除() 'A列データの最終行を定義 Dim MaxrowA As Long MaxrowA = Cells(Rows.Count, "A").End(xlUp).Row 'B列に判別式を記入 Range("B1").Formula = "=COUNTIF(A:A,A1)" 'B列の対応するセルに式をコピペ Range("F4").Copy Range(Cells(2, "B"), Cells(MaxrowA, "B")).Select Selection.PasteSpecial Paste:=xlPasteAll 'A列とB列をソートし、B列を昇順にソート Columns("A:B").Select ActiveSheet.Sort.SortFields.Clear ActiveSheet.Sort.SortFields.Add Key:=Range("B:B"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With ActiveSheet.Sort .SetRange Range("A:B") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With ’式を検索対象に含めないようにするため、B列を値に変換 Range("B:B").Copy Range("B:B").PasteSpecial Paste:=xlPasteValues 'B列で2が最初に出てくる場所を特定・取得 Columns("B:B").Select Selection.Find(What:="2", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, MatchByte:=False, SearchFormat:=False).Activate Dim nowrow As Long nowrow = ActiveCell.Row '全て重複していた場合にセルが2番に指定されるので、カバーする If nowrow = 2 Then nowrow = 1 End If '2以上のデータを消す Range(Cells(nowrow, "A"), Cells(MaxrowA, "B")).Clear 'B列を消す Range("B:B")).Clear End sub
(2017)ふるさと納税をすぐに済ませないと損!?もらえる返礼品を最大にするための方法
今回は税金の話です。税金の中でも一番手軽なのはふるさと納税だと思っています。
制度改正の流れが活発化しているので、取り上げておきたいと思っています。ふるさと納税はさまざまなメディアに取り上げられていることでかなり有名になってきています。
今回は制度概要から制度改正の流れ、そしてもらえる返礼品を最大にする方法の順に解説していきたいと思います。
【目次】
ふるさと納税
ふるさと納税とは個人が寄付金を地方の自治体に対して払うことで、その金額から2,000円を引いた額が翌年の住民税や所得税から控除されます。その寄付金に対して地方の自治体は返礼品ということで特産品を個人に贈るという仕組みになっています。
つまり個人にとってみれば、2,000円の負担で地方の特産品を手に入れることができるというお得な制度になっています。税金は国や住んでいる自治体に払うか、地方自治体に払うかの違いだけで額そのものはほぼ変わらないという制度になっています。
ふるさと納税の制度変更の流れ
地方自治体が競争して返礼品の豪華さを競ったために、一時はふるさと納税の返礼品として一般的なポイント付与や商品券など換金性の高いものが出されたため、そういった換金性の高い返礼品を出す地方自治体にふるさと納税の人気が集まりました。
そのため首都圏の地域からは住民税が地方に流れて地方は地方で返礼品で収支が悪化するという問題が起きてしまいました。
そのため、強制力はないものの総務省から高額返礼品を控えるように通達がなされています。
今回の制度改正(総務省通達)のポイント
・商品券や家電といった換金性の高い返礼品を控える
・返礼品の目安は寄付金の3割程度とする
・住んでいる自治体にふるさと納税した場合には返礼品の送付を控える
この3点です。はじめて返礼品に具体的な金額目安ができたことが非常に大きなことです。総務省の通達は罰則や強制力はないですが、長期的には通達通りの内容になっていくと思われます。
現在は返礼品の金額が3,000円を超えている自治体は500団体以上あるので、今後は返礼品の内容が悪化していくことが予測されます。
(岡三RSS)株式自動売買化に向けた岡三RSS/UWSCの設定について
株式の自動売買を進めるうえで切っても切れない関係にあるのが、証券会社の投資ツールです。
特にエクセルシート上で条件を設定して売買できる、「岡三RSS」や「楽天RSS」は非常に大きな力になってくれると思います。
今回は自動売買における岡三RSSの設定について説明していきたいと思います。
岡三RSSのバージョンについて
岡三RSSで自動売買を行いたいと思った場合には、「岡三RSS(完全自動発注版)」を使用してください。
通常とは異なり、1回あたりの売買金額の上限を設定し、注意画面を省略すれば自動的に株式を売買することができます。
1回あたりの売買金額の上限設定
1回あたりの売買金額の上限の変更方法を下記に記載しておきます。
①Windowsのタスクトレイに格納されている岡三RSSのアイコン上を右クリックし、「設定」をクリックしてください。
②次に、「1回の発注金額」欄に金額が入力されているかと存じますので、金額変更後、「OK」ボタンをクリックしてください。
注意画面の省略
注文関数に注文確認省略フラグが追加ていますので"1"を指定すると注文確認画面が表示されず、"0"を指定すると注文ごとに注文確認画面が表示されます。
完全自動売買を目指すなら、"1"で設定すると良いと思っており、私は実施しています。
岡三RSSの売買制御
岡三RSSでは自動的に注文を出すかどうかを「アドイン」で設定することができます。売買矢印のアイコンですね。
これもエクセルを開いたときに常にONにできる設定があります。「設定画面」で設定しておきましょう。
但し、これをやるとエクセルを開いたときに条件合致していたらすぐに注文が出されてしまうため、この設定を行った場合には、売買時間外に岡三RSSで設定したファイルを開く必要があります。
岡三RSSを仕込んだファイルをUWSCで制御
UWSCを使用してExcelファイルを制御する方法は2通りあります。
1種類目:CREATEOLEOBJを使う場合
EXCEL = CREATEOLEOBJ("Excel.Application") EXCEL.visible = True EXCEL.workbooks.open("C:\Users\root\Desktop\sample.xls") <|| 2種類目:単純なファイルのダブルクリック x,yで座標指定をしてください。マクロの記録を使うと便利です。 >|vb| MMV( x, y, [ms] ) btn(LEFT) btn(LEFT) <||