| BG Development · За реклама · За контакти |
Помощ Търсене Потребители Календар Правила |
| Здравей! ( Включване | Регистриране ) |
| Страници: (2) [1] 2 ( Първото ново мнение ) | ![]() ![]() ![]() |
| MeXaHuK |
Публикувано на: 04-06-2019, 14:40
|
![]() Име: Симеон Младенов Група: Потребител Ранг: Посетител Мнения: 100 Регистриран на: 12.03.05 |
Здравейте, преди време писах едно приложение /не знам как точно да го нарека/ на VBA за Excel, и не мога да разбера поради каква причина на някои компютри, отказва да работи, като дава грешка Runtime Error 9. За жалост на всички достъпни ми машини проблем няма и не мога да опитам да определя по-точно проблема в кой ред от кода е. Предполагам е от някаква настройка на Windows или Excel. Четох доста по темата, и имаше изтъкнати причини но всеки опит да ги симулирам на моя компютър не водеха до нищо - всичко пак си работеше както преди. Едни казваха, че е това дали в Windows виждаш разширението на файла, други от това какви макроси е разрешено да ползва Excel, но дори и след промяна на въпросните както казах всичко пак си работи. Мислех да не е и от версията на Excel, но я пробвах и на 2010 и на 2016 и на 2019 и проблем при мен отново няма. Предполагам е някаква страшно глупава причина, но не мога вече 2 дни да се оправя при тези обстоятелства. Моля помогнете ако сте имали този проблем и знаете решението.
|
| Антон Яначков |
Публикувано на: 04-06-2019, 16:46
|
||
|
Име: Антон Яначков Група: Потребител Ранг: Почетен член Мнения: 3406 Регистриран на: 27.07.16 |
Екселът е умен и винаги ще ти посочи на кой ред е грешката, освен в случай когато си декларирал API функция за VBA7 и я пуснеш на 32 битова машина или обратно. Прегледай декларциите на функциите и ги декларирай едновременно за стари и нови офиси, чрез IF. Със сигурност проблема ти е от неправина декларация. Неприятна работа е да подкараш дадена програма да работи на всички офиси, но е напълно възможна. Пример:
Ако инсталираш офис 2003 ще наблюдаваш брейкването на програмата и на твоя компютър. Това мнение е било редактирано от Антон Яначков на 04-06-2019, 16:50 |
||
| MeXaHuK |
Публикувано на: 04-06-2019, 21:14
|
![]() Име: Симеон Младенов Група: Потребител Ранг: Посетител Мнения: 100 Регистриран на: 12.03.05 |
Благодаря за съвета, мина и на мен през ума, че може и това да е причината. Ще опитам утре, но не съм голям оптимист, защото ме уверяват, че проблема се появява на Office 2016 и 2019, и то на 64 битова машина. Разбира се нямам идея познавайки потребителите това доколко е вярно. Освен това с цел да не си играят съм заключил не само целия workbook ами и VBA кода и няма как и това да ми кажат в кой ред дава грешката /а и да можеха едва ли ще ми кажат каквото трябва/. Мисля си дали проблем не прави и кирилицата, защото доста имена на sheets и групи клетки съм задал на кирилица и на въпросните машини дали това не прави проблема.
|
| Антон Яначков |
Публикувано на: 04-06-2019, 21:32
|
||
|
Име: Антон Яначков Група: Потребител Ранг: Почетен член Мнения: 3406 Регистриран на: 27.07.16 |
Според мен е изключено Кирилицата да е проблем, но помисли дали не си въвел в проекта някоя контрола, която да се явява външна за Excel. В този случай на едни компютри я има инсталирана и работи, а на други я няма и ти дава грешка. Също така прегледай шрифтовете, да не би да си използвал шрифт, който не се инсталира по-подразбиране. Моят съвет е - отключи целият проект и го дай за тест точно там където не тръгва. В България няма кой да ти го открадне, дори това да е програма за изкуствен интелект. Послепис: Провери програмата за дуракоустойчивост. Да не би при някаква комбинация да се получава грешката. И още нещо, много хора силно се страхуват от макроси и са склонни да ти кажат, че при тях не тръгва само и само да не я пробват. Аз имам един приятел надарен от бога с голяма каръкщина. Той има способността така да кликне, че един бъг да е само и той ще попадне на него. Ако искаш да хванеш грешката веднага, ти тябва човек точно като него. Мога да те свържа с този талант. Ще се учудиш колко бъга може да хване само за няколко минути. Това мнение е било редактирано от Антон Яначков на 04-06-2019, 21:48 |
||
| MeXaHuK |
Публикувано на: 04-06-2019, 21:55
|
||
![]() Име: Симеон Младенов Група: Потребител Ранг: Посетител Мнения: 100 Регистриран на: 12.03.05 |
Предполагам сам се сещаш, че съм го заключил не защото се боя някой да го открадне Просто пипат където не трябва или си пишат свободни съчинения по бланката, затова е тази "сигурност". И аз не вярвам кирилицата да е проблема, но вече не знам за какво да се хвана. С шрифтовете не вярвам да е - използвах навсякъде мисля Calibri. Точно защото не исках да използвам разширения за Excel се наложи да пиша всичко от нулата ( а и колко добре съм го написал е съвсем отделна тема, като не съм писал нищо от години и то пък специално на VBA). Просто досега са го ползвали поне 12-13 души и само на двама дава този проблем. Ще опитам утре все пак съвета ти, дано това да помогне. В интерес на истината имах подобен проблем с URLDownloadToFile при версия 2010 работеше при 2016 не и добавянето на
реши проблема. |
||
| Антон Яначков |
Публикувано на: 04-06-2019, 22:59
|
||||
|
Име: Антон Яначков Група: Потребител Ранг: Почетен член Мнения: 3406 Регистриран на: 27.07.16 |
Редно е всяка една API функция да я декларираш по подобен начин и да я пробваш отделно на стар офис 2003 и най-нов офис. Има дори случаи, когато на по-новите офиси някоя API функция изобщо да не работи, защото там вече е заменена с вграден метод. Втози случай решението е да сложиш и двата варианта и да манипулираш грешката. |
||||
| Антон Яначков |
Публикувано на: 04-06-2019, 23:05
|
|
Име: Антон Яначков Група: Потребител Ранг: Почетен член Мнения: 3406 Регистриран на: 27.07.16 |
Ако искаш можеш да ми пратиш файла да го пробвам и да се надяваме, че при мен ще изгърми. Изгърми ли, вече е лесно, но работи ли, то тогава трябва да се праща на карък.
|
| saruman |
Публикувано на: 04-06-2019, 23:53
|
||
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 3014 Регистриран на: 21.07.10 |
Изясни си ситуацията,в която се получава проблема,и ако е възможно си пренапиши ерор хендлинга да разбереш тая грешка откъде идва,щото Runtime Error 9 съкс Това мнение е било редактирано от saruman на 05-06-2019, 00:00 -------------------- |
||
| Golden Gega |
Публикувано на: 05-06-2019, 07:43
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 2189 Регистриран на: 04.06.10 |
Тествай да смениш езика за non-Unicode (Control Panel, Regional, Administrative, Change system locale), може зора да е адресирането на шийтове или обекти с имена на кирилица.
|
| Gamma Goblin |
Публикувано на: 05-06-2019, 07:55
|
![]() Име: Група: Потребител Ранг: Почетен член Мнения: 4014 Регистриран на: 21.02.18 |
https://www.youtube.com/watch?v=s2GP1NRGQYU
на едно друго място пишеше, че се случва защото нямаш дефолтен принтер, абе безграничен е микромекия гейний Това мнение е било редактирано от Gamma Goblin на 05-06-2019, 07:56 |
Страници: (2) [1] 2 |
![]() ![]() ![]() |