ネットが遅くてイライラしてない!?

今回為替のリアルタイムレートをどこかから取得してそれを表示してくれるソフトを作ってみようと思うのですが、どこからどのように取得してよいものやら全くわかりません。vectorを探すと似たようなものがフリーで公開されてるのですがそれはどのように作ってるんでしょうか。わかる人がいたら是非教えてください。お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

察しの通り為替レートはプログラムの外部にある情報をリアルタイムに取得しないと意味がありませんので、誰かが公開している為替レートを教えてくれるサービスを利用します。


一般的には「Webサービス」と呼ばれてまして、http の上で xml で情報をやりとりする技術を使います。

有名なところでは XMethods ってサイトがありますね。
ここはいろんな Web サービスを公開しています。
http://www.xmethods.com/

VB で Web サービスを利用するには VB.NET 2002/2003/2005 を使います。これら .NET 以降の VB では Web サービスを標準的に使用出来る仕組みになっていて、参考になる Web サイトや書籍もたくさん出ていますし、ヘルプである MSDN ライブラリにも方法が載っています。

ほんの一例ですが
http://www.microsoft.com/japan/msdn/smartclient/ …
あたりにも載ってますね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。VB.NET2003があるので、参考URLを見てやって見ます。

お礼日時:2007/01/02 00:38

インターネットのサイトで、例えば1分おきに為替相場が見れるサイトはどこにあるかを調べるする。

Yahooあたりでもあるでしょう。変わると情報を通知してもらうシステムまで考えると、相当の技量が要り難しいでしょう。
VBからインターネットを起動するコード(市販本の例題XX発などに載っている、WEB上でも載っています)を勉強する。
そこから望む為替相場部分の情報を抜き出す方法を勉強する。HTMLのタグが頼りか。
例えば1分おきに上記プログラムが自動で起動する方法を勉強する。(これも探せばWEB上にあるでしょう)
    • good
    • 0
この回答へのお礼

まだまだプログラミング初心者なので色々勉強しながらがんばってみます。ありがとうございました。

お礼日時:2007/01/02 00:40

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q為替データをエクセルにダウンロード出来るサイト

為替データをリアルタイムで取得して、エクセルに
ダウンロードして処理したいのですが、
そのような事の出来るサイトは無いでしょうか。

Aベストアンサー

システムに関しては全く無知です。

株価のリアルタイムダウンロードの質問は時々あり、次が参考になっているようです。為替も同じじゃないでしょうか?

Excelで株投資
http://www2s.biglobe.ne.jp/~iryo/kabu/index.html
このなかの、右下のほうで、
■ 解析ツール関連VBAの解説
┣[1]-1Webから株価データ取得マクロ(Yahoo)
 ┣[1]-2Webから株価データ取得マクロ(Infoseek)

参考URL:http://www2s.biglobe.ne.jp/~iryo/kabu/index.html

QEXCELのwebクエリが反映されない。

EXCELのwebクエリ機能を使ってリアルタイムの為替情報を表に反映させたく、以下のページをみながらやってみました。
参照:http://www.hello-pc.net/howto-excel/exc_rate/
ですが、表が反映されません。(https://gyazo.com/fab14a26e303fdde0f25fd74ae332055)
その際に図のようなエラー表示がされました。

どうすれば反映されるようになりますでしょうか?
ご助言いただければ幸いです。

Aベストアンサー

スクリプトエラーは、以前は、IEのオプションで修正できたのですが、今は、それをやっても無理のようです。もうここの書き込みは、顧みられることもないかもしれませんが、#2で書いたものが中途半端ですから、完成形を作っておきます。

http://nikkei225jp.com/fx/
(VBAコード内で文字化けする可能性がありますので、再度、登録しなおしてください strURL = http://nikkei225jp.com/fx/  "URL"をコーテーションマークで囲んでください。)

取得先は、『日経の為替チャート』(他も試みましたが、失敗しました。)
このマクロは、サーバーに負担を掛けるようなものではありませんが、ループして使うのは問題が残ると思います。なるべく、PC自体にも負担を掛けないためには、参照設定をしたほうがよいと思います。(その意味が分かる方のみに限ります)

なお、サイトが更新されれば、取得できなくなる可能性がありますから、このコードは、2016/5/25のタイム・スタンプということにしておきます。

'//
Sub OnTimeGetExRates()
  Dim objIE As Object ''As InternetExplorer 'Microsoft Internet Control:参照設定
  Dim ChgRates As Variant
  Dim Countries As Variant
  Dim strURL As String
  Dim i As Long, j As Long, k As Long
  Dim buf As Variant
  Dim arBuf(5) As Variant
  Dim Kinds As Variant
  Dim StCell As Range
  '20160525 
  '最初の書き出しセルの場所
  Set StCell = Range("A2")
  
  Set objIE = CreateObject("InternetExplorer.Application")
  'Set objIE = New InternetExplorer '事前バインディングの場合
  On Error GoTo ErrHandler
  ''**************
  ''取得先 at May 25,2016/ no guarantee after the future.
  strURL = "http://nikkei225jp.com/fx/"
  ''*************
  Countries = Array("ドル円", "ユーロ円", "ポンド円", "スイスフラン円", _
                 "豪ドル円", "ニュージーランド円", "ユーロドル", "ドルインデックス")
  ChgRates = Array("511", "514", "515", "513", "516", "517", "523", "501") '"V518" 不明
  Kinds = Array("V", "H", "L", "C", "Z", "T")
  
  objIE.Navigate2 strURL
  j = 1
  Do While objIE.Busy Or objIE.readyState <> 4: DoEvents: Loop
  With objIE.document
        For i = 1 To UBound(ChgRates) + 1
         On Error Resume Next
         buf = ""
         buf = .getElementByID("V" & ChgRates(i - 1)).InnerText
         For k = 0 To 5
          arBuf(k) = .getElementByID(Kinds(k) & ChgRates(i - 1)).InnerText
         Next k
         If StCell.Cells(i, 1).Value = "" Then
             StCell.Cells(i, 1).Value = Countries(i - 1)
         End If
         For k = 0 To 5
           StCell.Cells(i, k + 2).Value = arBuf(k)
         Next k
         On Error Resume Next
        Next i
    End With
ErrHandler:
If Err.Number <> 0 Then
     MsgBox Err.Number & " :" & Err.Description
End If
objIE.Quit
Set objIE = Nothing
Beep
End Sub

'//

スクリプトエラーは、以前は、IEのオプションで修正できたのですが、今は、それをやっても無理のようです。もうここの書き込みは、顧みられることもないかもしれませんが、#2で書いたものが中途半端ですから、完成形を作っておきます。

http://nikkei225jp.com/fx/
(VBAコード内で文字化けする可能性がありますので、再度、登録しなおしてください strURL = http://nikkei225jp.com/fx/  "URL"をコーテーションマークで囲んでください。)

取得先は、『日経の為替チャート』(他も試みましたが、失敗しました...続きを読む

Qエクセルで為替レート

ドルで払いを立てている商品一覧表があります。
円での払い額をみたいのですが、その日の為替レートを挿入出来る方法はエクセルにありますか?それをもとにかけ算したいのです。

(昨日払ったものは昨日のレートで固定され、きょうになって今日のレートにより 昨日の円の額が変わるのは困るのですが…)


よろしくおねがいします。

Aベストアンサー

こんにちは。

どこか、空いたシートに、データ-外部データの取り込み-新しいWebクエリ
で、

Web参照で、為替レートのサイトを指定します。

例えば、外国為替情報(日本の銀行系が良いです。)
http://www.btm.co.jp/gdocs/kinri/list_j/kinri/kawase.htm

だいたい、表の範囲を指定しておけば、用が足りるはずです。

OKを押すと、

データを返す先は、=$A$1

などと固定します。

外部データ範囲のプロパティの名前は、「為替」(任意)

コントロールの更新は、

バックグラウンドで更新する
 と
ファイルを開くときにデータを更新する

の両方に、チェックが入っていればよいと思います。


そうすると、目的のレートのセルのところがありましたら、
挿入-名前-定義-

名前(W)
「ドル」
参照範囲
「=Sheet2!$C$14」

などとします。(TTS か、キャッシュレートのSaleを選びます。お分りになっているとは思いますが、念のため。)

これで、OK で閉じれば、後は、

= 12.5 *ドル

で、その日の計算が出来るかと思います。ただし、夕方に変ることがありますので、あまり細かい変動は、気にしないほうがよいと思います。

こんにちは。

どこか、空いたシートに、データ-外部データの取り込み-新しいWebクエリ
で、

Web参照で、為替レートのサイトを指定します。

例えば、外国為替情報(日本の銀行系が良いです。)
http://www.btm.co.jp/gdocs/kinri/list_j/kinri/kawase.htm

だいたい、表の範囲を指定しておけば、用が足りるはずです。

OKを押すと、

データを返す先は、=$A$1

などと固定します。

外部データ範囲のプロパティの名前は、「為替」(任意)

コントロールの更新は、

バックグラウンドで...続きを読む

Q為替レート取得

WEBサイトから為替をリアルタイムで取得するツールを作りたいのですが
登録せずに無料でレート取得できるサイトを教えて下さい!

Aベストアンサー

外為どっとコムのホームページ

http://www.gaitame.com/market/info4.html

勿論無料です、他にも

http://www.fxchart.net/

http://www.fxstreet.jp/rates/forex-rates/

QExcel VBAでWebクエリ更新

VBA初心者です。

Excel VBAで、Webクエリを更新させ、取得したデータを同じBook内の別のSheetに
コピーさせたうえで、データのソート等を行いたいと考えています。

上記の操作をマクロで記録し、走らせてみると、Webクエリのデータ更新(取得)が
完了する前に、それ以降の操作に進んでしまいます。

Webクエリのデータ更新(取得)が完了してから、次の操作に進ませるためには、
どのようにすれば良いでしょうか?
よろしくお願いします。

Aベストアンサー

WEBクエリを「更新する」マクロをキチンと書いていますね?
(しばしば更新じゃなく「毎回WEBクエリをイチから埋め込み直す」マクロを書いてる初心者さんが多いので)

で、通常は
sub macro1()
 activesheet.querytables(1).refresh backgroundquery:=false
’以下続きの作業
 msgbox "DONE"
end sub

とかで十分です。


#シートにこれまでに何度も何度もWEBクエリを埋め込み直していて、収拾がつかない状態になっていないよう気を付けてください。まっさらのシートに一つWEBクエリを埋めた状態から作業してみて下さい。

QVB上で実行中の無限ループの止め方

今まで、CUIベースのBASICでのプログラムの経験はあるのですが
Visual系のBASICは初心者です。
原因はわかっているのでプログラムの修正はできるのですが
VB上でコンパイルして実行したときに無限ループに陥ってしまって
どうにもプログラムをとめられなくなります。
そんなことがないように、実行前に全てのプロジェクトを保存して
いますので、そんなに実害はないのですが、どうすればとめられるのでしょう・・
今現在は、タスクマネージャーから強制終了させています。

Aベストアンサー

無限ループの一番内側に
DoEvents
を入れておくと、ウィンドウ切替え->デバッガ終了操作が出来ますよ

危なそうなとこにも入れておくと、何かと安心です。

QエクセルVBAでテキストボックスの値の取得と変更について

エクセルのVBAを使ってシート上のテキストボックスのテキストを取得・変更するマクロを作成したいと思っていますがうまく行きませんので、お知恵を拝借したいとおもいます。

環境:WindowsXPでオフィス2002
状況:
エクセルブックa.xlsのシートに「コントロールツールボックス」のテキストボックスを配置(オブジェクト名はTEXTBOX_C)
エクセルブックb.xlsにコードを書き、a.xlsのTEXTBOX_CのプロパティのValueかTextを取りだしたい

試した事:
コントロールを配置したシートに次のマクロ
TEXTBOX_C.Text = "これはコントロールのテキストボックス"
を書くとテキストボックスに文字を入れ込めますが、別のエクセルブックからだと上手く行きません。

また、オートシェイプのテキストボックスの場合は簡単に出きるのですが、コントロールツールボックスではどうしても上手く行きませんので、対象法などご存知の方いらっしゃいましたら教えてください

Aベストアンサー

エクセルを新規に開きました。
そのSheet1に(コントロールツールボックスの)TextBoxを貼りつけました。
そのBook1から、ファイル-開くで別ブックを開きました。
別ブックのMojule1側に下記を書いて
Sub test02()
MsgBox Workbooks("book1").Worksheets("sheet1").textbox1.Text
End Sub
を実行すると、Book1のTextBoxに入れた文字列が表示
されました。
がそんな質問ではないのですか。

QDAOとADOの違いについて

Accessからイントラネット上のデータベースに接続するための接続方法で困っています。
DAOとADOの違いが分からず困っています。
メリット、デメリットが分かる方、どうか教えてください。

宜しくお願い致します。

Aベストアンサー

DAO(データアクセスオブジェクト)はAccessで使用されるMicrosoftJetデータベースエンジン を公開した最初のオブジェクト指向インターフェイスです。DAOは単一システムのアプリケーションや小規模でローカルなネットワークで使用するのに最も適しています。
とMSDNライブラリでは説明しています。
DAOはJetデータベースエンジンを対象にして開発されているのでJetのもつセキュリティ機能・データ定義機能などを十分に操作することができます。
ADO(ActiveXDataObjects)ではオブジェクトの種類が簡素化されているためJetデータベースエンジンの細かな機能を制御することができないといった点が不足している部分がありますがADOXやJROの各オブジェクトモデルで使用できる機能を使えばADOで不足している機能をほとんど補うことができます。
DAOはデータベースにAccessを使用するアプリケーションの場合、最大のパフォーマンスを得ることができます。しかしアプリケーションを運用していくうちに規模が大きくなってデータベースをSQLServerに移行することがあるかもしれません。
そのような可能性が含まれているのであれば最初からADOで開発しておいたほうが無難です。ADOはSQLServerに対する処理で良いパフォーマンスを得ることができます。

Jetデータベースエンジンを主なターゲットにしているならDAOで可。それ以外のデータベースを利用するのであればADOを選択する方が良いのではと思います。

DAO(データアクセスオブジェクト)はAccessで使用されるMicrosoftJetデータベースエンジン を公開した最初のオブジェクト指向インターフェイスです。DAOは単一システムのアプリケーションや小規模でローカルなネットワークで使用するのに最も適しています。
とMSDNライブラリでは説明しています。
DAOはJetデータベースエンジンを対象にして開発されているのでJetのもつセキュリティ機能・データ定義機能などを十分に操作することができます。
ADO(ActiveXDataObjects)ではオブジェクトの種類が簡素化されて...続きを読む

Q【Excel VBA】マクロでExcel自体を終了させたい

環境:WindowsXP、Excel2003

マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。

ThisWorkbook.Close
ExcObj.Quit
Application.Quit

どこか悪いところはありますでしょうか?

よろしくお願いします。

Aベストアンサー

普通に考えれば質問者のコードで上手くいきそうですが
hana-hana3さんの回答にもあるようにThisWorkBook.Closeでコード終了となりますので
Application.QuitをThisWorkBook.Closeの前にもってこないといけません。
Application.Quitはそれがあるプロシージャのコードが全て終わるまで
その実行を保留するちょと特別動作をします。

'-------------------------------------
 Application.Quit
 ThisWorkbook.Close
'-------------------------------------
 
 

QDataSetの内容がDataGridViewに反映されない

現在、VB2005でアプリケーションの開発をしているのですが
DataSetの内容がDataGridViewに反映されなくて困っています。

表示させたいデータをデータセットにとってくるところは問題ないようで
1回目は上手く表示されるのですが、データセットの中身を変更して
セットし直しても表示が変わりません。

以下がソースを抜き出したものになります。

Grid.DataSource = Nothing
Grid.DataMember = Nothing

Grid.DataSource = DataSet
Grid.DataMember = "M_kbn"

よろしくお願いします。

Aベストアンサー

デザイナでDataGridViewのDataSourceプロパティを編集していませんか?
もしそうであれば、デザイナでの設定を削除してコードでDataSourceの設定を行うようにしてみてください。

C#ですが、同様の現象のようです。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=47099&forum=7&1


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング