Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.65/658: Рейтинг темы: голосов - 658, средняя оценка - 4.65
аналитика
здесь больше нет...
3349 / 1664 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
#1

Авторские программы, библиотеки, надстройки и шаблоны

12.02.2010, 17:42. Просмотров 119241. Ответов 153
Метки нет (Все метки)

 Комментарий модератора 
Коллектив модераторов раздела оставляет за собой право использовать данный пост аналитики для размещения и обновления оглавления темы.

Оглавление
- по тематике:

Утилиты


Инструменты программиста

Графические редакторы



Защита программного кода

Офисные операции

Веб-сервис


Игры




- по автору:
A-Z





Конец оглавления

Оригинальное сообщение от аналитики:

Надстройка для VBE "IndenterVBA" - позволяет редактировать стиль оформления программного кода.
27
Вложения
Тип файла: rar IndenterVBA.rar (253.1 Кб, 1529 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2010, 17:42
Ответы с готовыми решениями:

Подключение библиотеки в коде программы
Добрый день, уважаемые форумчане. При переносе макроса из 2003 в 2007 Excel...

Надстройки
Доброго времени суток, форумчане! Подскажите, каким образом можно извлечь...

Временно отключить надстройки
Здравствуйте! Необходимо в начале действия макрос отключить (или...

Редактирование надстройки EXCEL
Ситуация: есть файл start.xla (при запуске сам не показывается, а формирует и...

Ошибка в коде надстройки
Надстройка выдает ошибку 13. В коде ругается на строку: prob =...

153
аналитика
здесь больше нет...
3349 / 1664 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
13.02.2010, 13:45  [ТС] #2
В этой теме участники форума выкладывают свои (и чужие) наработки


Для пользователей Excel 2007:
- это пользовательская вкладка в Excel 2007 (через XML-внутренности), на которой сгруппированы часто используемые мной встроенные команды и некоторые общие макросы; все реализовано в надстройке Ribbon.xlam, так что изменение интерфейса производится на уровне всего приложения.

Всем, кто хочет изменить неизменяемую Ленту, прошу.
Будут вопросы, обращайтесь
12
Вложения
Тип файла: rar Ribbon.rar (33.8 Кб, 674 просмотров)
аналитика
здесь больше нет...
3349 / 1664 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
13.02.2010, 17:36  [ТС] #3
Для любителей полушутливых макросов:
11
Вложения
Тип файла: rar Блуждание.rar (28.6 Кб, 1300 просмотров)
БурундукЪ
9555 / 2556 / 83
Регистрация: 17.02.2009
Сообщений: 10,364
13.02.2010, 19:10 #4
Ворд: Печать книгой

Добавлено через 13 минут
Как рисовать API-функциями из VBA?
3
Vlanib
Частенько бываю
744 / 326 / 42
Регистрация: 20.06.2007
Сообщений: 854
26.05.2010, 11:07 #5
При большом количестве открытых книг не всегда удобно переключаться между ними, видеть одновременно названия через интерфейс Excel. Надстройка добавляет настраиваемую панель с названиями открытых книг и удобным переходом. Может кому сгодится.


Не по теме:

Bluenote

14
Вложения
Тип файла: zip taskbar.zip (19.7 Кб, 874 просмотров)
KoGG
5274 / 1347 / 320
Регистрация: 23.12.2010
Сообщений: 2,019
Записей в блоге: 1
11.01.2011, 16:02 #6
3 вида блуждания, реализованные до кучи как заставки в Морском бое.
5
Вложения
Тип файла: rar Morboy.rar (132.9 Кб, 571 просмотров)
KoGG
5274 / 1347 / 320
Регистрация: 23.12.2010
Сообщений: 2,019
Записей в блоге: 1
12.01.2011, 09:20 #7
Еще блуждание - питонов.
3
Вложения
Тип файла: rar Piton.rar (15.8 Кб, 531 просмотров)
dzug
680 / 220 / 18
Регистрация: 17.01.2011
Сообщений: 554
Записей в блоге: 1
07.06.2011, 11:49 #8
Разработчики Excel выложили надстройку очень симпатичного всплывающего календаря samradDatePicker.xls . При активации ячейки содержащей дату, любой книги Excel, рядом с датой появляется смайлик календаря, щёлкнув по которому можно вызвать этот всплывающий календарик. Что бы он был у вас постоянно под рукой, поставьте этот файл на автозагрузку.
9
Вложения
Тип файла: rar samradDatePicker.rar (160.4 Кб, 1152 просмотров)
Kohonas
40 / 15 / 0
Регистрация: 03.11.2010
Сообщений: 13
14.11.2011, 12:29 #9
Шутливый макрос.
Движение кнопки от наведения на него курсора.
Нажать не возможно.
Убегает.

Больше не знаю что написать. (Пароли сняты).
10
Вложения
Тип файла: rar Button_svs2.rar (12.0 Кб, 840 просмотров)
Апострофф
Заблокирован
17.11.2011, 21:56 #10
Первый вариант
SpecCharCls
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Public Function SpecCharCls( _
        ByVal strSearchIn As String, _
        Optional ByVal blnTrim As Boolean = False, _
        Optional ByVal blnSpaseDelete As Boolean = False _
        ) As String             '=== функция: очистка строки от спец. символов
    ' strSearchIn       - исходная строка
    ' blnTrim           - флаг: удалить начальные и конечные пробелы из итоговой строки
    ' blnSpaseDelete    - флаг: удалить все пробелы
    Dim i As Integer
    Dim siMid As String * 1     ' выделенный символ
    'Dim strNew As String        ' "очищенная" строка
    'Dim siAsc As Integer        ' ANCI код символа
    'Dim siLen As Integer        ' длинна очищаемой строки
    
    SpecCharCls = strSearchIn    ' перадаём строку локальной переменной
    ' удаляем все пробелы из строки
    ' если удаляем все пробелы, лучше это сделать сразу - цикл будет короче
 
'    If blnSpaseDelete = True Then SpecCharCls = Replace(SpecCharCls, " ", "")
    If blnSpaseDelete Then SpecCharCls = Replace(SpecCharCls, " ", "") 'зачем лишние сравнения для булевой переменной
    'siLen = Len(SpecCharCls)     ' считаем длинну строки
    For i = 1 To Len(SpecCharCls)      ' перебераем все символы строки по циклу
        siMid = Mid(strSearchIn, i, 1)  ' получаем символ из строки
        'siAsc = Asc(siMid)              ' преобразовываем полученный символ в ANCII код
        If siMid < " " Then SpecCharCls = Replace(SpecCharCls, siMid, "")  ' удаляем спец.символ
    Next i
    ' удаляем пробелы в начале и в конце строки. Это лучше делать в конце цикла,
    ' т.к. в исходной строке могут быть пробелы "экранированные" спец. символами
 
'    If blnTrim = True Then SpecCharCls = Trim(SpecCharCls)
    If blnTrim Then SpecCharCls = Trim(SpecCharCls) 'зачем лишние сравнения с True?
    'SpecCharCls = SpecCharCls             ' возвращаем результат
End Function

То же самое, только в два раза быстрее
SpecCharCls3
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Public Function SpecCharCls3( _
        ByVal strSearchIn As String, _
        Optional ByVal blnTrim As Boolean = False, _
        Optional ByVal blnSpaseDelete As Boolean = False _
        ) As String             '=== функция: очистка строки от спец. символов
    ' strSearchIn       - исходная строка
    ' blnTrim           - флаг: удалить начальные и конечные пробелы из итоговой строки
    ' blnSpaseDelete    - флаг: удалить все пробелы
    Dim b() As Byte, a() As Byte
    b = strSearchIn
    ReDim a(UBound(b))
    Dim i As Long, J As Long
    For i = 0 To UBound(b) Step 2
      If b(i) >= 32 - blnSpaseDelete Or b(i + 1) > 0 Then
        a(J) = b(i)
        a(J + 1) = b(i + 1)
        J = J + 2
      End If
    Next i
    ReDim Preserve a(J - 1)
    If blnTrim Then SpecCharCls3 = Trim$(a) Else SpecCharCls3 = a
End Function

И для любителей экстрима
SpecCharCls4
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Option Explicit
Private Type TSafeArray
    Dims As Integer
    Features As Integer
    ElementSize As Integer
    Locks As Integer
    Handle As Long
    DataPtr As Long
    Length As Long
    LBound As Long
End Type
 
Private Declare Sub SetCharArray Lib "msvbvm60" Alias "GetMem4" (ByRef SafeArrayPtr As Long, ByRef CharArray() As String * 1)
 
Dim sa As TSafeArray, a() As String * 1
 
Public Function SpecCharCls4(ByVal strSearchIn As String) '
SetCharArray VarPtr(sa), a
With sa
    .Dims = 1
    .Features = 128
    .ElementSize = 2
    .Locks = 0
    .Handle = 0
    .LBound = 0
    .DataPtr = StrPtr(strSearchIn)
    .Length = Len(strSearchIn)
End With
 
Dim I As Long
For I = 0 To UBound(a)
  If a(I) < " " Then a(I) = Chr$(0)
Next I
SpecCharCls4 = Trim$(Replace(strSearchIn, Chr$(0), ""))
SetCharArray 0&, a
End Function

Как пользоваться:
Visual Basic
1
2
3
4
Sub qqq()
Dim s$: s = "   " & vbTab & "  dfghjdf  " & vbTab & "   dsthf  " & vbLf & "  kln  jkn   " & vbCr & "      "
  MsgBox SpecCharCls3(s, True, True)
End Sub
Нужны проверки, явно присутствуют возможности для оптимизации.
Но даже на этой стадии данный код быстрее вышеизложенных.

Другие сообщения этой темы: Очистка строки от от спец. символов ("Tab", перевод каретки и пр.)
10
KoGG
5274 / 1347 / 320
Регистрация: 23.12.2010
Сообщений: 2,019
Записей в блоге: 1
12.01.2012, 15:05 #11
Макросы и пользовательские функции для работы с цветом. Цвета более насыщенные в Офисе 2007 и 2010.
Visual Basic
1
2
Function СумЕслиЦвет(Oblast As Range, Obrazec As Range) As Variant
' Суммирует заданный диапазон ячеек при условии, что RGB цвет фона слагаемого совпадает с цветом фона ячейки образца.
Visual Basic
1
2
Function СчетЕслиЦвет(Oblast As Range, Obrazec As Range) As Variant
' Считает число ячеек в заданном диапазоне, цвет фона которых совпадает с цветом фона ячейки образца.
Visual Basic
1
2
Sub Сортировка_строк_по_цвету()
' Сортирует строки в порядке цветов в спектре, либо в обратном порядке, предварительно индексируя цвета до ближайшего спектрального, либо - при цветоразличии компоненнтов не более 5% от среднего – до оттенка серого.
Visual Basic
1
2
Sub Создать_спектральную_матрицу()
' Закрашивает выделенную область спектральными и промежуточными цветами в заданном порядке.
Visual Basic
1
2
Sub Цветовое_насыщение_области()
'Изменяет цвет фона ячеек выделенной области на ближайший насыщенный спектральный цвет, либо на оттенок серого при цветоразличии компонентов не более 5% от среднего.
Visual Basic
1
2
Sub Обесцвечивание_области()
' Изменяет цвет фона ячеек выделенной области на ближайший оттенок серого.
Visual Basic
1
2
Sub Раскрасить_последовательность()
' Изменяет цвет фона каждой ячейки выделенной области строки или столбца на последовательный спектральный цвет.
9
Вложения
Тип файла: xls Работа_с_цветом.xls (64.5 Кб, 396 просмотров)
KoGG
5274 / 1347 / 320
Регистрация: 23.12.2010
Сообщений: 2,019
Записей в блоге: 1
28.01.2012, 14:50 #12
Перевод крякозябров, возникщих при копировании из VBE , в кириллицу (Word).
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub Крякозябр_в_Кириллицу()
' Переводит последствия неправильного копирования из VBE обратно в кириллицу
' в тексте документа Word.
    Dim iUni As Integer, oChar As Range
    For Each oChar In ActiveDocument.Characters
        iUni = AscW(oChar.Text)
        Select Case iUni
             Case 168, 184, 192 To 255
                oChar.Select
                Selection.TypeText (Chr(iUni))
             Case Else
        End Select
    Next
End Sub
Добавил чувствительность к регистру.
7
KoGG
5274 / 1347 / 320
Регистрация: 23.12.2010
Сообщений: 2,019
Записей в блоге: 1
14.02.2012, 09:37 #13
. . . в раздел бесполезных, но оригинальных макросов . . .

Калейдоскоп - оказался не так прост для программирования .
19
Миниатюры
Авторские программы, библиотеки, надстройки и шаблоны   Авторские программы, библиотеки, надстройки и шаблоны   Авторские программы, библиотеки, надстройки и шаблоны  

Авторские программы, библиотеки, надстройки и шаблоны  
Вложения
Тип файла: zip Kaleidoscope.zip (436.4 Кб, 711 просмотров)
coderxx
432 / 152 / 8
Регистрация: 25.02.2012
Сообщений: 346
Записей в блоге: 2
25.02.2012, 22:06 #14
Прикрепляю свой Add-in:
Add-in VB Style Code

Возможности:
  • Авто-форматирование строк кода в зависимости от операторов;
  • Авто-вставка недостающих конечных конструкторов.
  • Скроллинг с помощью мышиного колеса.
  • Авто-вставка Then для конструкции If-ElseIf в случаи его отсутствия;
  • Авто-вставка знака комментария;
  • Авто-вставка шаблона текста при добавлении функции/процедуры;
  • Авто-текст;
  • Авто-замена инкрементные (++) и декрементные (--) операции;
  • Авто-замена составное присваивание (+=, -=, *=, /=, \=, &=);
  • Авто-замена инициализации переменных с объявлением;
  • Нумерация строк кода;
  • Объявление функций, типов и констант (через #include);
  • Настройка обработчиков ошибок;
  • Подсветка синтаксиса;
  • Выбор стиля интерфейса;
  • Выбор языка интерфейса;
  • MDI-вкладки;
  • Быстрый переход к функциям и процедурам;
  • Архивация проекта;

Горячие клавиши:
  • Ctrl + Alt + Tab - Форматировать выделенный фрагмент кода;
  • Ctrl + S - Сохранение модулей в режиме отладки;
  • Ctrl + B - Возврат отменённых изменений по коду;
  • Ctrl + ' - Добавить знак комментария;
  • Ctrl + Shift + ' - Удалить знак комментария;
  • F6 - Установка / удаление закладки;
  • Shift + F6 - Переход между закладками;
  • F11 - Вызов окна перехода к функциям и процедурам;


Файл: VBStyleCode.rar (289.68 Кбайт)

Файл: Languages.rar (471.75 Кбайт)
Для установки языков интерфейса нужно распаковать архив в путь, который находится сам установочный файл.

Файл: Include.rar (129.59 Кбайт)
Примерные варианты include файлов.

для обсуждения
10
Вложения
Тип файла: rar VBStyleCode.rar (289.7 Кб, 380 просмотров)
Тип файла: rar Languages.rar (471.7 Кб, 276 просмотров)
Тип файла: rar Include.rar (129.6 Кб, 263 просмотров)
аналитика
здесь больше нет...
3349 / 1664 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
24.04.2012, 23:11  [ТС] #15
нашел в каких-то старых папках...
чье это творение? не знаю
1
Вложения
Тип файла: zip HandyObfuscator 1.12.01Obs.zip (485.6 Кб, 290 просмотров)
Catstail
Модератор
23579 / 11679 / 2044
Регистрация: 12.02.2012
Сообщений: 19,056
11.06.2012, 19:20 #16
Предлагаю свою поделку - надстройку с функциями:

1) Убрать из выделенного диапазона числа, но оставить формулы
2) Объединить несколько смежных ячеек в строке без потери данных
3) То же для столбца
4) Подсчет в выделенном диапазоне к-ва нечисловых ячеек (и выделение их цветом)
5) Перевод текста в выделенном диапазоне в загл. буквы
6) То же - в строчные
7) Замена белиберды, которая возникает, когда забудешь переключить rus-lat (в обе стороны)

Может, будет полезно...
10
Вложения
Тип файла: zip BobServ.zip (27.1 Кб, 346 просмотров)
Catstail
Модератор
23579 / 11679 / 2044
Регистрация: 12.02.2012
Сообщений: 19,056
18.06.2012, 21:20 #17
Хочу поделиться способом хранения exe-файлов в рабочей книге Excel. Может быть полезным в том случае, когда exe-шник не должен сидеть в папке. Выгружаете, запускаете, удаляете... Выражаю надежду, что служить это будет только целям добра.
10
Вложения
Тип файла: zip hide_exe.zip (157.2 Кб, 388 просмотров)
Catstail
Модератор
23579 / 11679 / 2044
Регистрация: 12.02.2012
Сообщений: 19,056
25.06.2012, 12:10 #18
Вот еще поделка: dll-ка, содержащая следующие классы:

1) cDBF - для работы с DBF-ами (dbase-III);
2) clsCal - симпатичный (как мне кажется) календарь;
3) clsFstr - класс для работы с текстовым файлом (входным), как с массивом строк;
4) clsCoder - кодировщик строк

Достаточно подробная инструкция и примеры - в архиве.
8
Вложения
Тип файла: zip Service.zip (179.4 Кб, 428 просмотров)
Catstail
Модератор
23579 / 11679 / 2044
Регистрация: 12.02.2012
Сообщений: 19,056
27.06.2012, 12:04 #19
А вот еще небесполезная штука:

1) Номера 3000 встроенных иконок Excel (использовать в FaceID)
2) Коды стандартных цветов
3) Коды символов (двойной щелчок по коду дает десятичный и шестнадцатеричный коды символа)
5
Вложения
Тип файла: zip Коды-0.zip (295.8 Кб, 411 просмотров)
Catstail
Модератор
23579 / 11679 / 2044
Регистрация: 12.02.2012
Сообщений: 19,056
29.06.2012, 12:07 #20
Вот достаточно старая поделка (была в 2005-м опубликована на vbrussian.com). Пример создания "web-сервиса" средствами asp и использование Excel, как web-клиента для построения диаграмм и графиков. В прилагаемом архиве - статья с картинками и все исходники.
7
Вложения
Тип файла: zip XlsWebCli.zip (371.2 Кб, 329 просмотров)
29.06.2012, 12:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2012, 12:07

Хранение картинок в теле надстройки
Добрый день! Возможно ли хранить картинку в самом файле (&quot;надстрока.xlsx&quot;) и...

Вызов надстройки через VBA
Здравствуйте. Очень нужна Ваша помощь. Задача следующая: В VBA для Excel...

Добавление надстройки Excel в Ribbon
Здравствуйте. Написал я две надстройки на VBA для Excel, и захотелось мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru