トップ  >  お問合せ(Contact)  >  Excel VBAでファイル読み込み
Excel VBAでファイル読み込み



Q
MQL4 の関数データー(算出変数値 や 各種関数値)を EXCEL に転送する為の関数名をお知らせください。
貴、MQL4レファーレンス・リストの、どの関数を使うのか、分かりません。又、EXCEL側の設定に付いてもお願いします。
A
中国の人でしょうか?
日本語で上手く伝わるかわかりませんが、
直接Excelにデータ転送するような関数はありません。
一度FileWrite()関数でCSVファイルを生成してから、Excel VBAでCSVファイルを読み込んでみるのは如何でしょう?
CSV書き出しのサンプルソースはFileWriteのページを参照して下さい。

CSV生成のmq4ファイルと、作成したExcelファイルを添付します。



VBAのサンプルソース:
'---------------------------------------
'CSVファイルを読み込み、セルに貼り付ける
'---------------------------------------
Sub MQL4CsvRead()

    Dim filehandle As Integer 'ファイルハンドラ
    Dim rowcount As Integer
    Dim acount As Integer
    Dim read_str As String
    Dim read_array_str() As String   '文字列配列
    Dim CSV_FileAddress As String
    Const base_cell As String = "A2" '基点セル位置
    Const fileaddres_cell As String = "B1" 'ファイルアドレスのセル位置

    'ファイルパスをセルから取得
    CSV_FileAddress = Range(fileaddres_cell).Value

    '2行目~1000行目のセルデータを全削除
    Rows("2:1000").Select
    Selection.ClearContents

    Range(base_cell).Select   'A2セルを選択

    filehandle = FreeFile     '未使用番号を取得してファイルハンドラNoに設定
    'ファイルオープン(読み取りモード)
    Open CSV_FileAddress For Input As filehandle

    rowcount = 0
    Do Until EOF(filehandle) 'ファイルの終端までループ
        Line Input #filehandle, read_str      '1行読み込み
        read_array_str = Split(read_str, ",") '読み込んだ文字列を,で分割して配列に保存
        
        acount = 0
        For Each tempitem In read_array_str '配列数分ループ
            Range(base_cell).Offset(rowcount, acount).Value = tempitem
                        
            acount = acount + 1
        Next tempitem
        
        rowcount = rowcount + 1
    Loop

    Close filehandle     ' ファイルハンドラ開放
End Sub


スポンサーリンク
検索

↑の検索エンジンが表示されない人は、
↓の古い検索エンジンを使用して下さい。
カスタム検索
MQL4リファレンスツリー
スポンサーリンク
スポンサーリンク


Copyright ©2015 MT4でEA自作しちゃお~ All Rights Reserved.


Top

inserted by FC2 system