Автор |
Сообщение |
AntColonel
Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск
|
Подниму тему, ибо близка.
У меня вопрос похожий.
Идет экспорт таблицы всех сделок в эксель. Там фильтруется колонка "Количество" и выдается звуковой сигнал.
Теперь вопрос - возможно ли вывести по сигналу метку на график в АМИ на бар по времени и цене сделки на которой сработал фильтр? Или может кто знает, как вывести подобное на график в КВИК? |
|
|
Посмотреть профиль Отправить личное сообщение |
 |
000
Site Admin

Зарегистрирован: 10.12.2007
Сообщения: 9103
|
С ходу такая мысль. В эксель создаем текстовый файл, а в Ами пишем AFL который его постоянно ищет и если файл есть, то читает и выводит на график то, что надо.
... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
 |
Swell
Зарегистрирован: 18.01.2013
Сообщения: 117
|
Такой вопрос.
Чтобы передавать информацию в Excel и обратно обязательно использовать vbscript?
Нельзя ли это делать только средствами AFL? |
|
|
Посмотреть профиль Отправить личное сообщение |
 |
000
Site Admin

Зарегистрирован: 10.12.2007
Сообщения: 9103
|
Можно CreateObject, createstaticobject. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
 |
Swell
Зарегистрирован: 18.01.2013
Сообщения: 117
|
Через AFL не получается.
В хэлпе на CreateObject внизу страницы есть ссылка (online library): AFL-Excel. Кто-нибудь ходил по ней? (меня туда не пускает)
Там тоже делается через vbscript? |
|
|
Посмотреть профиль Отправить личное сообщение |
 |
000
Site Admin

Зарегистрирован: 10.12.2007
Сообщения: 9103
|
А что не получается? По моему должно быть все ОК... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
 |
Swell
Зарегистрирован: 18.01.2013
Сообщения: 117
|
Такой фрагмент даёт ошибку:
if(Status("ActionEx")==1)
{
Excel = CreateObject("Excel.Application");
Excel.Workbooks.Open("C:\\Test.xls");
}
Пишет, что незнакомый член (member) (. |
|
|
Посмотреть профиль Отправить личное сообщение |
 |
000
Site Admin

Зарегистрирован: 10.12.2007
Сообщения: 9103
|
Блиин. А у меня MS Office нет. Пользуюсь libreOffice... |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
 |
Swell
Зарегистрирован: 18.01.2013
Сообщения: 117
|
Я как-то пробовал устанавливать OpenOffice. Но пришлось отказаться, поскольку он портил документы (документы, открытые в OpenOffice затем некорректно открывались в MS Office)...
Но не суть. Мне просто любопытно, какой способ связи с Excel предлагает сам разработчик.
При попытке сходить по ссылке "AFL-Excel" (из хэлпа к CreateObject) отсылает на страницу с надписью: This item from AFL library is now available only for registered users from member's area. You will be redirected in 3 seconds.
Каким образом можно зарегистрироваться в этом member's area? Или может кто-нибудь зарегистрированный уже ходил по этой ссылке? |
|
|
Посмотреть профиль Отправить личное сообщение |
 |
DSB
Зарегистрирован: 17.01.2021
Сообщения: 7
Откуда: НН, Москва
|
Swell писал(а): |
Пишет, что незнакомый член (member) (. |
Он не переносит, когда в строке оператор "точка" используется больше одного раза
Вот рабочий пример, как это все может заработать:
Код: |
App = CreateObject("Excel.Application");
App.Visible = True;
WB = App.Workbooks;
WB.Add;
WS = App.ActiveSheet;
for (i = 0; i < BarCount; i++)
{
ADDR = "A" + (i + 1);
RNG = WS.Range(ADDR);
RNG.Value = C[i];
} |
|
|
|
Посмотреть профиль Отправить личное сообщение |
 |
000
Site Admin

Зарегистрирован: 10.12.2007
Сообщения: 9103
|
DSB писал(а): |
Он не переносит, когда в строке оператор "точка" используется больше одного раза
|
Век живи - дураком помрешь! ) |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
 |
Astrobiolog
Зарегистрирован: 27.01.2013
Сообщения: 66
|
Цитата: |
Он не переносит, когда в строке оператор "точка" используется больше одного раза
|
О да! Я с этим в свое время помучился, пока опытным путем не выяснил  |
|
|
Посмотреть профиль Отправить личное сообщение |
 |
DSB
Зарегистрирован: 17.01.2021
Сообщения: 7
Откуда: НН, Москва
|
Накропал более менее человеческий способ кидать данные в Excel.
Делюсь:
Код: |
EnableScript("vbscript");
<%
BarCount = AFL("BarCount")
if BarCount > 1000 then
arrOpen = AFL("O")
arrHigh = AFL("H")
arrLow = AFL("L")
arrClose = AFL("C")
ReDim arrHeader(0, 3)
ReDim arrCommon(UBound(arrClose), 3)
arrHeader(0, 0) = "Open"
arrHeader(0, 1) = "Close"
arrHeader(0, 2) = "High"
arrHeader(0, 3) = "Low"
For i = 0 To UBound(arrCommon, 1)
arrCommon(i, 0) = arrOpen(i)
arrCommon(i, 1) = arrClose(i)
arrCommon(i, 2) = arrHigh(i)
arrCommon(i, 3) = arrLow(i)
Next
Set objExcelData = CreateObject("Excel.Application")
objExcelData.Visible = True
objExcelData.Workbooks.Add
objExcelData.Cells(2, 1).Resize(UBound(arrCommon, 1) + 1, UBound(arrCommon, 2) + 1).Value = arrCommon
objExcelData.Cells(1, 1).Resize(UBound(arrHeader, 1) + 1, UBound(arrHeader, 2) + 1).Value = arrHeader
end if
%> |
|
|
|
Посмотреть профиль Отправить личное сообщение |
 |
|