Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Данные из бинарного файла средствами VBA
 
{quote}{login=nerv}{date=10.08.2011 11:45}{thema=}{post}Если Вам известен алгоритм шифрования, то, теоретически, можно.  
 
=58558={/post}{/quote}  
 
К сожалению алгоритм шифрования не известен ( выходит что никак?  
 
Открывал файл HEX редактором, справа увидел абракадабру...именно поэтому файл и зашифрован, так?
Данные из бинарного файла средствами VBA
 
2nerv, к сожалению из той программы результат - все это в виде картинок, а нужно для дальнейших расчетов, которые будут делаться в vba. В данном примере речь идет о 13 изделиях одинаковой длины, а вообще могут быть сотни изделий различной длины.  
Да, можно вручную вбивать длины из картинок но это не есть гуд =)
Данные из бинарного файла средствами VBA
 
Добрый день!  
Есть такая задачка:  
из приложенного файла нужно вытянуть цифровую информацию средствами VBA. Сам не знаю как это можно сделать. Файл создается программой, и алгоритм создания остается неизвестным. Однако на руках есть сама программа, при этом известна часть данных которые должны быть в файле:  
1300 14 раз  
5250 3 раза  
2650 1 раз  
1.7.1  
7.7.1  
9.7.1  
13.7.1  
16.7.1  
21.7.1  
23.7.1  
27.7.1  
30.7.1  
33.7.1  
36.7.1  
40.7.1  
42.7.1  
46.7.1  
Вообще это решение задачи о раскрое по длинам. В данном случае имеется 3 болванки по 5250мм и 1 по 2650мм из которых нужно получить 14 изделий по 1300мм. Интересует автоматически получать в каком порядке изделия укладываются на какие болванки.  
Понимаю что возможно не существует решения такой задачи, но надежда умирает последней :-)  
Заранее спасибо за помощь!
VBA....Ошибается?
 
{quote}{login=Юрий М}{date=28.11.2010 03:12}{thema=Re: }{post}На чём собираетесь программировать, то и изучайте.{/post}{/quote}  
Ок, буду думать на чем буду программировать :-) и читать google =)
VBA....Ошибается?
 
2ZVI, Hugo - спасибо огромное за помощь!  
Собственно ошибка была как раз здесь:  
"Неправильно: Dim NN1, NN2, NN3 As Double  
Должно быть: Dim NN1 As Double, NN2 As Double, NN3 As Double"  
Я проглядел что NN1 то текстом приходит( увидел "правильную" цифру и на этом успокоился...  
На будущее учту советы по поводу описания ВСЕХ переменных! И еще очень полезная информация про ByRef, ByVal.  
PS: В дальнейшем хочу поглубже изучить программирование...что посоветуете, продолжать изучать VB/VBA или учить с нуля C++? сорри за отход от темы
VBA....Ошибается?
 
2Hugo  
Программа должна во всех случаях выбирать первое условие, а она выбирает 2-е...в том и ошибка...
VBA....Ошибается?
 
2ZVI  
Я итак вырезал все ссылки на автокад) не смотрите что кнопка называется "в autocad"...или проблема в том что я подключил библиотеки автокада?  
Введите, например a=1000,b=1000,c=500,d=400, нажмите "в autocad"  
пойдут msgbox ы, которые полностью дублируют условия выбора...
VBA....Ошибается?
 
Кстати, в форму нужно вводить значения так, чтобы:  
b>c  
a>d  
Т.е. чтобы получалась фигура вроде той что на рисунке  
Еще нужно забить любую чушь в строку маркировка окна. Все остальные строки можно не трогать
VBA....Ошибается?
 
2ZVI  
Я локализовал, сделал вроде бы все наглядно...заодно выяснил что ошибается именно в данном случае...но ошибку не могу найти  
2 слэн - учту, буду знать на будущее)  
думаю что в выложенном примере тоже классическая ошибка..
VBA....Ошибается?
 
2ZVI  
Там все ссылки на отсутствующие листы не имеют отношения к оператору if; а все отсутствующие процедуры занимаются непосредственно черчением в autocad, и к тому же не имеют отношения к оператору if.  
Я специально вырезал все лишнее, чтобы проще было понять.  
Модули oshibka и zamena - это одно и то же, в первом случае без ввода ненужных переменных, во втором - с вводом. Переменные так и называются, neponyatno и neponyatno1 (см. пример в первом посте)  
Я использовал и currancy и double, результат от этого не менялся...угол приходит именно в радианах...  
К тому же я прогонял по f8 до строчки где были операторы if, в них все числа были правильные, а оператор "нагло врал".  
Пример:  
видим по f8:    
a=5  
b=3  
c=4  
if a+b>c then  
d=1  
else  
d=2  
end if  
И наша программа идет по else и присваивает d значение 2...  
 
Могу прислать всю прогу (ошибка-то происходит когда эта процедура запускается эдак раз 10-15), только она весит 871 кб...и там куча куча всего...  
Кстати NN1,NN2,NN3 и alpha имеют как раз тип double.
VBA....Ошибается?
 
Собственно прикрепил файл, в котором сохранил только ту процедуру, в которой происходит ошибка...в 2-х вариантах, с заменой переменных и без...  
Суть процедуры, что она строит 4-х угольники(трапеции) по трем сторонам, NN1,NN2,NN3 и углу alpha в autocad. Плюс она же образмеривает. Собственно if здесь используется для определения типа трапеции (думаю по "эскизикам" в коде типа /||||||||\ понятно о чем идет речь. А тип нужно найти для того, чтобы правильно проставить в autocad размеры трапеций (опять же это делается программно)  
Заранее спасибо за советы!
VBA....Ошибается?
 
Прошу прощения за некорректный предыдущий пост, не знаю как тут можно удалять посты..  
 
2Казанский  
Ну в принципе я думал про погрешности вычислений :-) Речь идет даже не об ошибках в сотых или десятых, ошибки идут в целых числах и даже на дестятки целых...могу попытаться выбрать основные куски из своей проги, чтобы было видно где я или vba ошибся) В принципе я много уже думал именно в этом направлении...думаю если бы получше выбирал тип переменных можно было бы и избежать...собственно потому и пришел за советом)  
2Hugo - спасибо за совет! попробую с Err.Clear....хотя тоже странно,потому что ошибок вроде как и не было...  
2ZVI - синтаксис оператора if  я понимаю) пример то привел не из своей программы, а просто для пояснения проблемы.  
 
А не может быть такого что переменные в vba надо периодически как-то стирать (по аналогии с err.clear приведенного выше? если да то как...  
PS: не выложил сразу свою прогу, потому что думаю врядли кому то захочется копаться в длинном коде...
VBA....Ошибается?
 
{quote}{login=ZVI}{date=27.11.2010 12:51}{thema=}{post}Пока это Ваши ошибки, а не VBA :-)  
Код первого примера – нерабочий, так как содержит синтаксическую ошибку.  
Эта ошибка легко обнаружится, если выбрать Debug – Compile  
 
' Неправильно  
Sub Test1_NotOk()  
 Dim a, b, c  
 a = 5  
 b = 3  
 If a > b Then c = 5   ' <-- эта строка завершенная  
 Else ' <-- это уже ошибка (Else without If), потому что не относится ни к какому If  
   c = 10  
 End If  
 MsgBox "c=" & c  
End Sub  
 
Правильно так:  
 
' Правильно  
Sub Test1_Ok1()  
 Dim a, b, c  
 a = 5  
 b = 3  
 If a > b Then  
   c = 5  
 Else  
   c = 10  
 End If  
 MsgBox "c=" & c  
End Sub  
 
или так:  
 
' Тоже правильно  
Sub Test1_Ok2()  
 Dim a, b, c  
 a = 5  
 b = 3  
 If a > b Then c = 5 Else c = 10  
 MsgBox "c=" & c  
End Sub  
 
Во втором примере перед Set Acad = … нужна строка: Err.Clear как рекомендует Hugo{/post}{/quote}
VBA....Ошибается?
 
Здравствуйте!  
При написании программ на vba столкнулся со странной проблемой:  
VBA ошибается при работе с оператором if...  
Прогонял программу по f8, видел что значения переменных были правильными, но оператор if врал...  
Помогло в некоторых случаях введение дополнительных переменных.  
Пример:  
....  
a=5  
b=3  
if a>b then c=5  
else  
c=10  
end if  
Ежели оператор if ошибся, можно попытаться заменить вот так:  
.....  
a=5  
b=3  
d=a  
if d>b then c=5  
else  
c=10  
end if  
конечно ошибется if не в таком простом случае, а если к переменной "a" до того было много обращений...  
Или вот еще пример:  
Public Sub dimcreate(x1, y1, x2, y2, x3, y3)  
Dim Acad As Object  
 Set Acad = GetObject(, "Autocad.Application")  
 If Err <> 0 Then  
   MsgBox "Autocad не запущен", vbExclamation  
   Exit Sub  
 End If  
При многократном обращении к этой процедуре, оператор if врет( Ошибок нет, а он пишет как будто есть...  
PS: Может быть существуют какие-то подводные камни, которые я не нашел в учебнике по vba?)
Ошибка Path/File access error 75
 
http://ifolder.ru/20173545 - залил файл...  
Видимо ошибка возникает при автосохранении и сохранении..  
Заранее спасибо за подсказки :-)
Ошибка Path/File access error 75
 
В excelком файле с макросами периодически не загружаются формы с ошибкой Path/File access error 75. После чего падает excel. Ошибка не постоянная, а плавающая....  
Не могу понять в чем дело(  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
Получить из формулы значения
 
да, и все-все что делает эта надстройка есть в ее описании в архиве
Получить из формулы значения
 
Вобщем-то любую функцию добавить в макрос совсем не сложно,если надо могу вписать нужные формулы)  
И еще раз, очень интересно было бы поглядеть что-то уже существующее на эту тему - перерыл весь инет в поисках такого макроса, не нашел;и здесь тоже спрашивал;
Получить из формулы значения
 
если сделано ДО меня*
Получить из формулы значения
 
теперь зарегестрировался))  
нет, ссылки в ссылки преобразует; если сделано для меня - покажите где)  
Я занимаюсь расчетами для проектирования в эксэле - порой это удобнее чем пользоваться сложными программными комплексами, поэтому работаю только с математическими функциями; функция счетесли просто не присутствует в моем макросе;
Страницы: 1
Наверх