нужно каждый день выводить график изменений акций (РТС, ммвб) в виде телевизионной рубрикию. данные загружаются в DigitalFusion и потом превращаются в видео файл.
может кто подскажет как поправить запрос в этом файле чтобы он правильно тянул) <EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
для выгрузки данных с финама использую следующий метод создаю на листе экселя веб запрос к котировкам, макросом обновляю его через нужные мне периоды времени, данные из ячеек в текстовый файл для ведения истории - (этот текстовый файл подвязывается в access, в котором создан запрос на вывод последних n строк текстового файла)- далее в эксель экспортируются данные аксес запроса, строятся графики, расчитываются индикаторы.
Очень интересно посмотреть на ваш файл, если он очень большой - залейте на файлообменик и дайте ссылку.
{quote}{login=egonomist}{date=16.11.2011 08:45}{thema=}{post}для выгрузки данных
Очень интересно посмотреть на ваш файл, если он очень большой - залейте на файлообменик и дайте ссылку.{/post}{/quote}
метод такой
Sub GetData() ' thanks to Ron McEwan :^)
Dim QuerySheet As Worksheet Dim DataSheet As Worksheet Dim EndDate As Date Dim StartDate As Date Dim Symbol As String Dim Period As Integer Dim qurl As String Dim nQuery As Name
StartDate = DataSheet.Range("C2").Value EndDate = DataSheet.Range("C3").Value Symbol = DataSheet.Range("C1").Value If DataSheet.Range("C4").Value = "H" Then Period = 7 ElseIf DataSheet.Range("C4").Value = "D" Then Period = 8 Else: Period = 9 End If Range("C7").CurrentRegion.ClearContents
'construct the URL for the query qurl = "http://export.finam.ru/" & Symbol & "?d=d&m=1&em=16842" qurl = qurl & "&df=" & Day(StartDate) & "&mf=" & Month(StartDate) - 1 & "&yf=" & Year(StartDate) _ & "&dt=" & Day(EndDate) - 1 & "&mt=" & Month(EndDate) - 1 & "&yt=" & Year(EndDate) _ & "&p=" & Period & "&f=" & Symbol & "&e=.csv&cn=" & Symbol _ & "&dtf=1&tmf=1&MSOR=0&sep=1&sep2=1&datf=4&at=1"
{quote}{login=egonomist}{date=16.11.2011 08:45}{thema=}{post}для выгрузки данных с финама использую следующий метод создаю на листе экселя веб запрос к котировкам, макросом обновляю его через {/post}{/quote}
а можно взглянуть как выглядит синтаксис вашего запроса?
у себя сделал -как веб-запрос (в 2007 - данные - получить внешние данные - из веба - finam.ru - отметить нужные данные) потом вешаем на таймер процедуру Public Sub exp() 'обновляем запрос Worksheets("main").QueryTables.Item(1).Refresh BackgroundQuery:=False 'заполняем массив значениями котировок, его потом можно вывести хоть на лист 'хоть в файл For i = 1 To 17 Step 1 namecol(i - 1, 0) = Worksheets("main").Range("D" & i + 1 & "") Next i dop = "" & Date & "" Namef = "kotirovki_" & Replace(dop, ".", "") Dim fso, ts Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile("C:\kotirovki\arhive\" & Namef & ".txt") Set ts = f.OpenAsTextStream(8, -2) 'записываем в файл For i = 2 To 12 Step 1 If IsError(Nz(Worksheets("main").Range("E" & i & ""), 0)) = False Then sx = Replace(Worksheets("main").Range("E" & i & ""), ".", ",") ts.WriteLine "" & CDate(Worksheets("main").Range("I" & i & "")) & ";" & Worksheets("main").Range("D" & i & "") & ";" & ss & "" End If Next i ts.Close
Call ADOImport Call Chert wok = Worksheets("main").Range("B8").Value If wok = 1 Then Call upquery Call Worksheets("Stock Chart").CBx11_Change End If End Sub