Здраствуйте,при выполнении макроса в ячейке иногда вылезает знак - ; (точка с запятой),как это исправить?!
вылезает знак при выполнении макроса
17.01.2013 00:23:21
|
|
|
|
17.01.2013 00:27:25
не запускать этот макрос.
какой, кстати?
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|
|
|
17.01.2013 00:37:45
этот макрос вообще ничего в ячейки листа писать не может. потому что не пишет.
вы уверены? и какая у вас версия Excel?
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|
|
|
17.01.2013 00:52:41
и еще данные поступают по DDE
|
|
|
|
17.01.2013 00:58:13
и это именно содержится в ячейке?
или просто отображается на экране, а в ячейке пусто?
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|
|
|
17.01.2013 01:01:37
просто в ячейке вылезает точка с запятой и приостанавливается вывод по dde
|
|
|
|
17.01.2013 01:08:08
куда вывод?
я вижу. что у вас пишется торговый приказ в файл. предположительно - текстовый. если он в момент попытки доступа к нему будет занят другим приложением... то... ну наверное. просто ошибка бы вышла. а вообще-то, наверное, немного иначе делать надо - пытаться открыть файл, если не получилось - в цикле снова пытаться на протяжении какого-то разумного времени, затем корректный выход из макроса. без записи в файл (раз он не открылся).
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|
|
|
17.01.2013 01:18:15
он записывает в файл tri ,а файл tri обрабатывается программой (quik-это программа для биржы)примерно раз 0,1 секунду(это я робота для биржы делаю).а как бы в вашем варианте этот макрос выглядел бы?
|
|
|
|
17.01.2013 01:23:39
ммм... пока разбираюсь...
не писал я роботов и проверить не на ком.
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|
|
|
17.01.2013 01:27:58
я думаю что вы правы!файл занят программой и думаю что вместо ошибки выдает точку с запятой
|
|
|
|
17.01.2013 01:34:37
да не должно такого быть.
теоретически. (ушёл искать подопытных кроликов)
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|
|
|
17.01.2013 08:15:59
Не проверял, просто как вариант исходя из логики кода:
Почему так решил - у Вас идет запись данных в переменную и в конце к этим данным прибавляется точка-с-запятой. Если данных не было получено - переменная получает сцепку: "" & ";", что в результате даст, естественно, только ";".
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
|
|||
|
|
17.01.2013 12:55:35
рытаюсь дополнительно вставить строку еще одну,но пишет что синтаксицеская ошибка
Sub снятие_заявок() ID = Int((1000000 * Rnd) + 1) Filename = Лист2.Cells(1, 2) 'введение в макрос пути к файлу из ячейки Open Filename For Append Shared As #1 'открыть файл Data = "ACTION=KILL_ALL_FUTURES_ORDERS; TRANS_ID=" & ID & "; CLASSCODE=SPBFUT; SECCODE=" & Лист2.Cells(4, 2) & "; BASE_CONTRACT=" & Лист2.Cells(4, 3) & ";"; "ACTION=KILL_ALL_FUTURES_ORDERS; TRANS_ID=" & ID & "; CLASSCODE=SPBFUT; SECCODE=" & Лист2.Cells(4, 2) & "; BASE_CONTRACT=" & Лист2.Cells(4, 3) & " Print #1, Data Close #1 End Sub надо чтобы в tri файле было две строчки как долно тогда быть правильно? |
|
|
|
17.01.2013 14:27:23
никто не подсккажет?
|
|
|
|
17.01.2013 14:35:40
пс. Александр, как Вы полагаете - для кого модераторы написали красными буквами сообщение в Вашем посте #5?
фрилансер Excel, VBA - контакты в
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг |
|||
|
|
17.01.2013 14:43:03
Что это такое?
BASE_CONTRACT=" & Лист2.Cells(4, 3) & " Что за амперсанд и кавычки там, где за ними ничего не следует? И в середине какая-то точка-с-запятой вне кавычек. Это так нужно? Вы же запрос формируете внутри текстовой переменной, зачем пытаться её разорвать? Думаю так заработает:
И Вы почему-то не пишите - предыдущая проблема решена или нет? Или нам это нужно и мы должны догадываться?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
|
|||
|
|
17.01.2013 15:58:23
изаините!на пятое сообщение я внимания не отобразил,т.к. я знаю что писал,а то что модераторы могут что то в нем написать,не знал!С предыдущей проблемой я справляюсь:просто сворачиваю эксель и нормально работает все!потом попробую ваш вариант!В моем последнем коде в середине точка-с-запятой вне кавычек-это я пытался разделить строки,т.к. ACTION=KILL_ALL_FUTURES_ORDERS должен начинаться с новой строки!The_Prist,в вашем коде все записывается в одну строку.Только не ругайтесь!
|
|
|
|
17.01.2013 16:18:46
Я и не планировал ругаться, но в новую строку надо записывать данные не запросом а в цикле, так где Вы Print пишите. Только я не поня по какому принципу вторая строка должна формироваться. Судя по запросу - Вы запрашиваете абсолютно одинаковые данные, но два раза. Так надо или Вы что-то другое хотели? В общем исходя из того, что у Вас написано - держите такой вариант:
Если не подходит - пишите критерии создания запроса.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
|
|||
|
|
17.01.2013 16:28:57
я хотел другое!ACTION может иметь другое значение!уже в принципе придумал и работает
Sub снятие_заявок() ID = Int((1000000 * Rnd) + 1) Filename = Лист2.Cells(1, 2) 'введение в макрос пути к файлу из ячейки Open Filename For Append Shared As #1 'открыть файл Data = "ACTION=KILL_ALL_FUTURES_ORDERS; TRANS_ID=" & ID & "; CLASSCODE=SPBFUT; SECCODE=" & Лист2.Cells(4, 2) & "; BASE_CONTRACT=" & Лист2.Cells(4, 3) & "; ACCOUNT=" & Лист2.Cells(2, 2) & ";" Print #1, Data Close #1 ID = Int((1000000 * Rnd) + 1) Filename = Лист2.Cells(1, 2) 'введение в макрос пути к файлу из ячейки Open Filename For Append Shared As #1 'открыть файл Data = "ACTION=123; TRANS_ID=" & ID & "; CLASSCODE=SPBFUT; SECCODE=" & Лист2.Cells(4, 2) & "; BASE_CONTRACT=" & Лист2.Cells(4, 3) & "; ACCOUNT=" & Лист2.Cells(2, 2) & ";" Print #1, Data Close # |
|
|
|
17.01.2013 16:29:34
не знаю как сделать теги
|
|
|
|
17.01.2013 16:37:29
Однако - потренируемся?!. И коды , и теги... Как вариант...
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
|
|
|
|
17.01.2013 16:42:41
|
|||
|
|
17.01.2013 16:43:54
блин,а code виден
|
||||
|
|
|||