Категории каталога

Форма входа

Поиск

Друзья сайта

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Наш опрос

Оцените мой сайт
Всего ответов: 58
Главная » Статьи » Кодинг » Из старого

Изврати свой Excel - или как оттянуться, не сходя с рабочего места (Zepadlo v 1.0-beta).

Стилистика и орфография сохранены, ценность материала при этом не пострадала.


Изврати свой Excel - или как оттянуться, не сходя с рабочего места (Zepadlo v 1.0-beta).

Багиров Заур aka BiZet
bizetik@lycos.com
2002 Baku Azerbaijan

Немного о грустном

Данная статья представлена исключительно в познавательных целях и ее автор не несет ответственности за последствия, которые могут произойти с людьми, претворившими в жизнь все нижеописанное ....

Если согласны, то тогда поехали.

Ключ на старт...

Для сегодняшних опытов нам понадобятся любое офисное приложение и чайная ложечка мозгов

8-). Как и в прошлый раз, я все свои эксперименты буду проделывать над своим любимым Excel-ом, потому как большую часть своей сознательной жизни я провожу в попытках обретения вселенской истины посредством электронных таблиц и баз данных :))

Итак, открываем Excel и, прищурив левый глаз, осмотримся чего бы нам там изменить


Рисунок 1 - Девственный Эксель готовый к употреблению :)

Насмотрелись? Едем дальше ....На скриншоте римскими цифрами я пометил все то, что мы сегодня будем менять ...

Номер I - эта та самая наинаглейшая надпись в левом верхнем углу экрана Micro$oft Excel , ну ничего щас я тебя ...Молниеносно жмем ALT+F11 , создаем модуль, нарекаем его любым угодным вам именем),дал своему имя Zepadlo) .Далее переходим в окно кода и думаем чего бы тут такого написать. Как вы наверное догадались в нашем с вами положением за надпись отвечает (или ответит :-) свойство Caption глобального объекта Application .Все просто омерзительно просто (извиняюсь за каламбур)...

Итак, пишем:

Private Sub ChangeThatFuckinCaption ()
'Замена дефолтого капшина
Application.Caption = "Если вы думаете что это Эксель, то вы сильно ошибаетесь :-)"
ActiveWindow.Caption = "Hacked by (Your Name)"
End Sub

После этого жмите F5 и полюбуйтесь, что вы натворили:


Рисунок 2

Немного теории ...

Private Sub - почему именно Private, да потому чтоб его не видно было при нажатии клавиш ALT+F8 (кто не знает, тот отдыхает и получает удовольствие :-) :

В следующих строках я обращаюсь к объектам Application и ActiveWindow и меняю их свойства Caption на нужное мне, а не то, что установило Micro$oft (так ему и надо-нечего везде себя пихать ).Единственное на что хочу обратить ваше внимание, что ActiveWindow.Caption изменит только активное окно (что в большинстве случаев достаточно) -на то это и бета версия нашей с вами заподлянки и вам будет над, чем подумать на сон грядущий.

Возвращается все на свои места также просто:

 Application.Caption = Empty
ActiveWindow.Caption = ActiveWorkbook.Name

С письменами на всяких капшинах разобрались - летим к цели номер II.Описание цели - это всякие коммандбары (прикол есть прикол надо их тоже удалить к чертовой бабушке). Для этого пишем следующее:

Private Sub NoMoreCommandBarHere()
'отключаем всё меню
'объявим переменную

Dim CmdBar As CommandBar
For Each CmdBar In CommandBars
If CmdBar.Enabled = True Then
CmdBar.Enabled = False
End If
Next
End Sub

В первой строчке я объявил переменную CmdBar как объект Command Bar . Далее я использую цикл For Each :.. In :: (что переводиться как - для каждого ...... в .......) , в котором обращаюсь к каждому командбару и проверяю если он включен (если он не включен, то значит им не пользуются и трогать его также нет смысла ), тогда вырубим его . После запуска (жмите F5) у вас должно получиться следующее:


Рисунок 3 - Просто, но со вкусом (толи еще будет)

Вернуть все можно заменив в цикле следующие строчки

If CmdBar.Enabled = True Then
CmdBar.Enabled = False
End If

На

If CmdBar.Enabled = False Then
CmdBar.Enabled = True
End If

Как видно на скриншоте - исчезло все меню (включая и то, что вылетало при райтклике). Но это еще не самое жуткое зрелище .Переходим к задачке № III .Как говориться -Раз пошла такая пьянка режь последний огурец 8-) .Там же в окне кода нашего модуля выводим следующее ...

Private Sub hide_all()
'операция по вырезанию грыжи у Экселя продолжается
With ActiveWindow
'убрать заголовки
.DisplayHeadings = False
'убрать аутлайны(обычно их не бывает), но на всякий случай их тоже надо убрать
.DisplayOutline = False
'эти зерос тоже не частые гости и тем не менее не место им на странице
.DisplayZeros = False
'горизонтальные полосы прокрутки
.DisplayHorizontalScrollBar = False
'вертикальные полосы прокрутки
.DisplayVerticalScrollBar = False
'закладки рабочих листов
.DisplayWorkbookTabs = False
'и в конце концов снимите сетку с экрана
.DisplayGridlines = False
End With
'мы с вами не формулы писать пришли
Application.DisplayFormulaBar = False
'а этот пункт вообще не подлежит обсуждению
Application.ShowWindowsInTaskbar = False
End Sub

Все готово шеф, делайте пробный старт. Да да опять жмите F5 сравните то, что у вас получилось с тем, что у меня на следующем скриншоте (рис 4.) . Сразу оговорюсь, так как я извращался с пустым файлом, то у меня эКсель превратился в обыкновенный блокнот (ExPad) .У людей, которые будут иметь несчастье ощутить все прелести данного прикола может съехать крыша, так что советую находиться в недосягаемости от испытуемого компьютера.


Рисунок 4 - В деревне больше никто не живет 8-)

И даже не спрашивайте, как все вернуть на свои места, потому как я вам не скажу что все False , которые вы видите в листинге номер три надо заменить на True (и больше не спрашивайте)........

Заключительная часть Марлезонского балета ака шаг номер IV . Зачем, спрашивается я не тронул статус бар (там до сих пор Ready написано). Щас я там такое напишу . А как? спросите вы ...А вот так!!!

Private Sub StatusBarUnderFire()
'вот как раз сейчас и напишу
Application.StatusBar = "Вот получите Censored ваш Censored Censored...Censored"
End Sub

Опять Application , но уже не капшион, а Application.StatusBar ="Ваш текст". Как видите это тоже не очень вас должно напрячь . Стереть все эти письмена вам поможет следующая строчка

Application.StatusBar = False

Рисунок 5 - рис 5. Напишем на статус баре, все что мы о нем думаем ....

Post FUCKtum

Так как мы с вами написали основную часть нашего западла, то нам осталось все это собрать воедино и запустить на компе у жертвы. Пока чтобы все это запустить, вам потребуется социальная инженерия (пока думайте сами как все это преподнести жертве), на следующем уроке я попытаюсь рассказать как все это осуществить без вашего участия ...Тем более что данная статья исключительна познавательного характера. На последок перепишите следующий листинг :

Private Sub Auto_Open()
'загрузим по полной на старте
ChangeThatFuckinCaption
NoMoreCommandBarHere
hide_all
StatusBarUnderFire
End Sub

Private Sub Auto_Close()
'сбросить при выходе (исключительно для вас, но не для жертвы )
ReturnDefaultCaptions
ReturnCommand
unhide_all
ClearTheStatus
End Sub

При запуске файла стартует ваше западло, соответственно при закрытии файла все возвращается на свои места. На этом разрешите закончить. Надеюсь еще встретимся .Саголун.

Исходники данной статьи можете найти в модуле zepadlo.bas.

Кстати, чтобы вставить модуль в книгу воспользуйтесь командой File ->Import File в VBA Editor-е

Теперь вроде все....

Категория: Из старого | Добавил: wsnow2 (02.10.2008)
Просмотров: 1085 | Рейтинг: 4.0/1 |
Всего комментариев: 0
Имя *:
Email *:
Код *: