abb
Свой человек
Зарегистрирован: 09/12/2008
Сообщений: 44
Нахождение: Москва
|
|
Здравствуйте, Подскажите, пожалуйста, как контролировать ДДЕ соединение Квика и Экселя. Может есть какие функции на Бейсике, чтобы мониторить это соединение?
|
untoxa
Ветеран
  
Зарегистрирован: 16/07/2007
Сообщений: 1211
|
|
Увы. Из экселя это никак не проконтролируешь.
|
nanook
Свой человек
Зарегистрирован: 15/12/2006
Сообщений: 31
Нахождение: РБ
|
|
В ответ на :
abb писал: Здравствуйте, Подскажите, пожалуйста, как контролировать ДДЕ соединение Квика и Экселя. Может есть какие функции на Бейсике, чтобы мониторить это соединение?
Может написать функцию с вызовом, например, раз в 60 секунд, для проверки контрольной суммы выводимых данных? Пойдет и оборот по активу: если за минуту не изменился, значит есть подозрение, что соединение пропало.
|
twilight
Свой человек
 
Зарегистрирован: 12/10/2006
Сообщений: 182
Нахождение: Moscow
|
|
DDESpy.exe из Visual Studio. http://msdn.microsoft.com/en-us/library/aa233534(VS.60).aspx
|
Andrewso
Верю, СССР будет восстановлен
 
Зарегистрирован: 31/07/2006
Сообщений: 1622
|
|
Вот намудрили, это ж просто - из MT транслируется время, в ячейку разницу =если(MT4|TIME!USDCHF-ТДАТА()>0;1;0). И макрос на подачу звукового сигнала. Не забудьте учесть часовые пояса сервера MT и локального компьютера и порог срабатывания в минутах/часах. 
Звуковой сигнал
Option Explicit Private Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" ( _ ByVal lpszName As String, _ ByVal hModule As Long, _ ByVal dwFlags As Long) As Long
Private Sub Play() PlaySound "c:\temp\chimes.wav", 0&, &H1 End Sub
Private Sub Worksheet_Calculate() If [A1].Value > [B1].Value Then Play End Sub
Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If (Target = [A1]) Then If [A1].Value > [B1].Value Then Play End If End Sub
До кучи Программная проверка Интернет-соединения средствами VB
Option Explicit Private Declare Function InternetGetConnectedState _ Lib "wininet.dll" (ByRef lpSFlags As Long, _ ByVal dwReserved As Long) As Long
Public Function InternetConnected() As Boolean InternetConnected = InternetGetConnectedState(0&, 0&) End Function
Private Sub Form_Load() If InternetConnected Then MsgBox "Текущее подключение к Интернену активно!" _ Else MsgBox "Текущее соединение отсутствует!" End Sub
Думаю, с квиком тоже типа этого.
Редактировано Andrewso (27/12/2009 21:47)
|