Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2012, 13:15   #1
ru3000
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 163
По умолчанию Старая книга - куча ошибок

Есть старая книга, в нее когда-то был засунут выпадающий календарь в виде макросов. Сейчас при открытии этой книги получаю ошибку. Конкретно вот на этом макросе (загорается красным самая верхняя строчка):
Код:
Public Declare Function GetCursorPos& Lib "user32.dll" (lpPoint As POINTAPI)
Public Type POINTAPI
x As Long
y As Long
End Type
     
     Public Function MouseX() As Long
     Dim ajsa22fiIOH345HUHIUnasdfuioylBJKYUwenfuiUILBGKUhe234eb77nfjj096 As POINTAPI
100  GetCursorPos ajsa22fiIOH345HUHIUnasdfuioylBJKYUwenfuiUILBGKUhe234eb77nfjj096
103  MouseX = ajsa22fiIOH345HUHIUnasdfuioylBJKYUwenfuiUILBGKUhe234eb77nfjj096.x
     End Function
     
     Public Function MouseY() As Long
     Dim ajsa22fiIOH345HUHIUnasdfuioylBJKYUwenfuiUILBGKUhe234eb77nfjj097 As POINTAPI
106  GetCursorPos ajsa22fiIOH345HUHIUnasdfuioylBJKYUwenfuiUILBGKUhe234eb77nfjj097
109  MouseY = ajsa22fiIOH345HUHIUnasdfuioylBJKYUwenfuiUILBGKUhe234eb77nfjj097.y
     End Function
Что здесь может быть не так? Возможно дело в х32 и х64?
Заранее спасибо.
ru3000 вне форума Ответить с цитированием
Старый 07.04.2012, 14:35   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Конкретно вот на этом макросе
конкретно не подключена (отсутствует) указанная библиотека.
Цитата:
Lib "user32.dll"
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 07.04.2012, 14:58   #3
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Переделайте код согласно инструкции:
http://excelvba.ru/articles/WinAPI
EducatedFool вне форума Ответить с цитированием
Старый 07.04.2012, 15:19   #4
ru3000
Форумчанин
 
Регистрация: 19.06.2009
Сообщений: 163
По умолчанию

Спасибо большое за ссылку.
ru3000 вне форума Ответить с цитированием
Старый 07.04.2012, 16:01   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Мысли вслух
Это не напрягает Dim ajsa22fiIOH345HUHIUnasdfuioylBJKYUw enfuiUILBGKUhe234eb77nfjj096 As POINTAPI
возможно стоит заменить например на
Dim Pt As POINTAPI
Да и весь остальной код,легче разобраться будет
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 07.04.2012, 17:59   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Цитата:
Сообщение от doober Посмотреть сообщение
Мысли вслух
Это не напрягает
Dim ajsa22fiIOH345HUHIUnasdfuioylBJKYUw enfuiUILBGKUhe234eb77nfjj096 As POINTAPI
возможно стоит заменить например на
Dim Pt As POINTAPI
Да и весь остальной код,легче разобраться будет
Это разработчик кода этого календаря, специально прошелся по нему обфускатором.
Там сотни строк кода, и все так выглядят.
Проще смириться, чем исправлять.
Да и зачем - главное, всё работает.
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Куча ошибок, почему?! Ку-Мун-Рён C++ Builder 4 18.05.2011 22:26
Старая оперативка Verty Компьютерное железо 1 06.06.2010 23:29
Старая тема bumbarashko Помощь студентам 0 08.04.2009 05:31
Старая тема bumbarashko Помощь студентам 0 04.04.2009 03:25