Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Расчет "таблицы всех сделок" в Excel 2007 Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Пн Июн 20, 2011 7:38 pm Ответить с цитатой Вернуться к началу

Подниму тему, ибо близка.

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


Зарегистрирован: 10.12.2007
Сообщения: 8813

СообщениеДобавлено: Пн Июн 20, 2011 7:56 pm Ответить с цитатой Вернуться к началу

С ходу такая мысль. В эксель создаем текстовый файл, а в Ами пишем AFL который его постоянно ищет и если файл есть, то читает и выводит на график то, что надо.
...

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Swell



Зарегистрирован: 18.01.2013
Сообщения: 109

СообщениеДобавлено: Вс Окт 28, 2018 7:10 pm Ответить с цитатой Вернуться к началу

Такой вопрос.
Чтобы передавать информацию в Excel и обратно обязательно использовать vbscript?
Нельзя ли это делать только средствами AFL?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8813

СообщениеДобавлено: Вс Окт 28, 2018 9:42 pm Ответить с цитатой Вернуться к началу

Можно CreateObject, createstaticobject.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Swell



Зарегистрирован: 18.01.2013
Сообщения: 109

СообщениеДобавлено: Чт Ноя 01, 2018 1:36 pm Ответить с цитатой Вернуться к началу

Через AFL не получается.
В хэлпе на CreateObject внизу страницы есть ссылка (online library): AFL-Excel. Кто-нибудь ходил по ней? (меня туда не пускает)
Там тоже делается через vbscript?
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8813

СообщениеДобавлено: Чт Ноя 01, 2018 4:08 pm Ответить с цитатой Вернуться к началу

А что не получается? По моему должно быть все ОК...

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Swell



Зарегистрирован: 18.01.2013
Сообщения: 109

СообщениеДобавлено: Пт Ноя 02, 2018 10:33 am Ответить с цитатой Вернуться к началу

Такой фрагмент даёт ошибку:

if(Status("ActionEx")==1)
{
Excel = CreateObject("Excel.Application");
Excel.Workbooks.Open("C:\\Test.xls");
}

Пишет, что незнакомый член (member) (.
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 8813

СообщениеДобавлено: Сб Ноя 03, 2018 10:39 am Ответить с цитатой Вернуться к началу

Блиин. А у меня MS Office нет. Пользуюсь libreOffice...

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Swell



Зарегистрирован: 18.01.2013
Сообщения: 109

СообщениеДобавлено: Пн Ноя 05, 2018 5:20 pm Ответить с цитатой Вернуться к началу

Я как-то пробовал устанавливать 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
Сообщения: 6
Откуда: НН, Москва

СообщениеДобавлено: Вс Янв 17, 2021 12:09 am Ответить с цитатой Вернуться к началу

Swell писал(а):
Пишет, что незнакомый член (member) (.

Он не переносит, когда в строке оператор "точка" используется больше одного раза Smile

Вот рабочий пример, как это все может заработать:

Код:

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
Сообщения: 8813

СообщениеДобавлено: Вс Янв 17, 2021 6:31 pm Ответить с цитатой Вернуться к началу

DSB писал(а):

Он не переносит, когда в строке оператор "точка" используется больше одного раза Smile

Exclamation Век живи - дураком помрешь! )

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Astrobiolog



Зарегистрирован: 27.01.2013
Сообщения: 58

СообщениеДобавлено: Пн Янв 18, 2021 5:59 pm Ответить с цитатой Вернуться к началу

Цитата:

Он не переносит, когда в строке оператор "точка" используется больше одного раза Smile

О да! Я с этим в свое время помучился, пока опытным путем не выяснил Laughing
Посмотреть профиль Отправить личное сообщение
DSB



Зарегистрирован: 17.01.2021
Сообщения: 6
Откуда: НН, Москва

СообщениеДобавлено: Ср Янв 20, 2021 7:42 pm Ответить с цитатой Вернуться к началу

Накропал более менее человеческий способ кидать данные в 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

%>
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen