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

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

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

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

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

Утилиты


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

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



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

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

Веб-сервис


Игры




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





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

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

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

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

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

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

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

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

153
Catstail
Модератор
23546 / 11656 / 2039
Регистрация: 12.02.2012
Сообщений: 19,015
20.07.2012, 17:31 #21
Хочу поделиться способом хранения данных в теле модуля (в виде комментариев). Код прилагаю.
7
Вложения
Тип файла: zip VBE-000.zip (17.5 Кб, 307 просмотров)
Catstail
Модератор
23546 / 11656 / 2039
Регистрация: 12.02.2012
Сообщений: 19,015
30.07.2012, 19:10 #22
Вот на что способен Excel: шестнадцатеричный редактор файлов. Не очень уклюже, но работает.Эстеты от программирования, сильно не ругайте за код...
4
Вложения
Тип файла: zip HexEdit-01.zip (165.5 Кб, 160 просмотров)
KoGG
5272 / 1345 / 320
Регистрация: 23.12.2010
Сообщений: 2,019
Записей в блоге: 1
14.08.2012, 14:34 #23
Файл GPS_Navi_Assistant позволяет работать в Excel с приемником GPS протокола NMEA с ежесекундным обновлением данных.
Подробнее.
Получение данных GPS производится через порт COM3.
В случае работы с другим портом следует изменить константу strPort.
Графически представлен курсовой компАсс, диаграммы по положению и уровню сигнала спутников.
Данные по скорости, курсу и высоте антенны усредняются за последние 3 секунды.

Кнопка "Record" однократно сохраняет текущие данные из диапазона "SavingRow" в конец списка на листе Data.
Кнопка "Track On" повторяет эту процедуру с заданной периодичностью, опираясь на время, полученное через поток GPS.
Состав сохраняемых данных можно менять, перетаскивая нужные именнованные диапазоны и переопределяя именованный диапазон
"SavingRow".
Приложение может работать при плохом качестве приема сигнала GPS, в таких случаях сохраняются последние полученные значения параметров.
Уровень сигнала конкретного спутника обнуляется, в случае отсутствия упоминания спутника в потоке GPS в течении 30 секунд.
Данные по конкретному спутнику удаляются (до нового обнаружения), в случае отсутствия упоминания спутника в потоке GPS в течении 5 минут.

Приложение создано по просьбе штурмана дальнего плавания Евгения Денисова и протестировано в реальных условиях.

P.S.
В случае отсутствия GPS приемника можно подключить GPS КПК через программу GPS_Gate.
GPS_Gate позволяет также симулировать сигнал GPS на выбранный COM порт и проигрывать
ранее записанный Log файл с потоком данных GPS.


Файл GPS_Stream_Viewer позволяет выводить сырой поток данных GPS NMEA, получаемых через порт COM3, на активный лист Excel.

Файл GPS_NMEA_Log_File_Importer позволяет извлечь данные из Log файла *.nmea с данными GPS NMEA.
5
Вложения
Тип файла: zip GPS_Navi_Assistant_v33.zip (305.9 Кб, 99 просмотров)
Тип файла: zip GPS_Stream_Viewer.zip (39.3 Кб, 81 просмотров)
Тип файла: zip GPS_NMEA_Log_File_Importer.zip (63.7 Кб, 72 просмотров)
Catstail
Модератор
23546 / 11656 / 2039
Регистрация: 12.02.2012
Сообщений: 19,015
25.09.2012, 13:49 #24
Предположим, вы хотите спрятать архив каких-либо файлов A.zip (A.rar) на своем ПК. Спрятать так, чтобы посторонние люди (которые могут зайти) не смогли найти... Действовать нужно так:

1) Создать папку, а в ней подпапку Work
2) сбросить в нее прилагаемый файл Steg.xls
3) Cбросить в Work архив A.zip (A.rar)
4) Накидать в папку десятка полтора разных doc-файлов
5) открыть Steg.xls и щелкнуть по надписи "Спрятать файл"
6) дождаться "OK"

При этом произойдет следующее: архив будет нарезан на двоичные блоки и каждый блок будет приклеен к одному из doc-файлов. Доки даже будут читаться. Вот только пересохранять их не надо.

Теперь упаковывайте "потяжелевшие" doc-файлы, называйте упаковку "Архив документов за 2009 г"
и держите где удобно.

Чтобы достать файл - распакуйте "Архив документов за 2009 г" в Work, откройте Steg.xls и щелкните по надписи "Извлечь"

Не проверял работу в 2007 и более поздних офисах.

Эта идея получила развитие в теме: Стеганография - упаковка произвольных файлов в документы MS Office
6
Вложения
Тип файла: zip Steg.zip (12.2 Кб, 115 просмотров)
dzug
678 / 218 / 18
Регистрация: 17.01.2011
Сообщений: 549
Записей в блоге: 1
30.11.2012, 16:40 #25
Подключить DLL, передать ей команду (строку) и получить ответ .

Во вложенном файле можно не только поиграть в шахматы , но и посмотреть как VBA взаимодействует с DLL. Заодно можно оценить "интелект" библиотеки DLL , размером всего 40 КБ, который играет в шахматы за компьютер..

P.S. Разработка была скачана около 10 лет назад. Автор указан в прилагаемых файлах.
1
Вложения
Тип файла: rar Chess__64.rar (96.6 Кб, 181 просмотров)
dzug
678 / 218 / 18
Регистрация: 17.01.2011
Сообщений: 549
Записей в блоге: 1
30.11.2012, 16:58 #26
Надстройка .XLA, сделана для автоматизации часто встречающихся операций при работе с несколькими листами и блоками ячеек.
3
Вложения
Тип файла: zip serg.zip (68.6 Кб, 197 просмотров)
KoGG
5272 / 1345 / 320
Регистрация: 23.12.2010
Сообщений: 2,019
Записей в блоге: 1
01.12.2012, 13:53 #27
Процедура Qb_PLAY проигрывает музыку из символьных строк стандарта АВС
аналогично оператору QBASIC PLAY

Кликните здесь для просмотра всего текста
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
'Процедура Qb_PLAY проигрывает музыку из символьных строк стандарта АВС
'аналогично оператору QBASIC PLAY
'http//ru.wikipedia.org/wiki/ABC_(%D0%BD%D0%BE%D1%82%D0%BD%D0%B0%D1%8F_%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C)
Option Explicit
Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private freq%(0 To 6, 0 To 11)
Dim freq_Flag As Boolean
 
Public Sub Qb_PLAY(MuzStr As String)
  If Not freq_Flag Then Call freq_Init
  Dim Muz$, Muz2$
  Static generalOktava%
  Dim oktava%
  Static tempo%   ' Задание темпа или четвертных нот, которые исполняются в минуту. n от 32 до 255.
  If tempo = 0 Then tempo% = 120 '  По умолчанию 120
  Dim Nota%, curPosition%, curNota4%
  Dim currentNotaPauseDuration&, currentNotaDuration&, pauseDuration&
  Static takt%
  If takt = 0 Then takt = 240000 / tempo
  Dim isNota As Boolean
  Dim isPause As Boolean
  Dim pointsNum%
  Static generalNotaMultipl!
  If generalNotaMultipl = 0 Then generalNotaMultipl = 0.875
  Static NotaLong!
  Dim curMultipl!, tempFlo!, curPause!
  Dim tempLong&
  Dim i%, j%, LenMuzStr%
  LenMuzStr = Len(MuzStr)
  For i = 1 To LenMuzStr
   Muz = Mid(MuzStr, i, 1)
   If i < LenMuzStr Then Muz2 = Mid(MuzStr, i + 1, 1)
   isNota = False
   isPause = False
   oktava = generalOktava
   curNota4 = 0
   Select Case Muz
         Case "C"
             Nota = 0
             isNota = True
         Case "D"
             Nota = 2
             isNota = True
         Case "E"
             Nota = 4
             isNota = True
         Case "F"
             Nota = 5
             isNota = True
         Case "G"
             Nota = 7
             isNota = True
         Case "A"
             Nota = 9
             isNota = True
         Case "B"
             Nota = 11
             isNota = True
         Case "N" ' Nнота Играет определенную ноту (0 - 84) в диапазоне семи октав (0 - пауза)."
                 curPosition = i + 1
                 If extractNumber(curNota4, MuzStr, curPosition) Then
                     i = curPosition - 1
                     If (curNota4) Then
                         curNota4 = curNota4 - 1
                         oktava = curNota4 \ 12
                         Nota = curNota4 Mod 12
                         isNota = True
                     Else
                         isPause = True
                     End If
                 End If
         Case "O" 'Oоктава   Задает текущую октаву (0 - 6).
             curPosition = i + 1
             If extractNumber(oktava, MuzStr, curPosition) Then
                 i = curPosition - 1
                 generalOktava = oktava
             End If
         Case ">"
             generalOktava = generalOktava + 1
         Case "<"
             generalOktava = generalOktava - 1
         Case "M"
              Select Case Muz2
                 Case "N" 'MN    Нормаль. Каждая нота звучит 7/8 времени, заданного в команде L
                     generalNotaMultipl = 0.875 '  =7/8
                     i = i + 1
                 Case "L" 'ML    Легато. Каждая нота звучит полный интервал времени, заданного в команде L
                     generalNotaMultipl = 1
                     i = i + 1
                 Case "S" 'MS    Стаккато. Каждая нота звучит 3/4 времени, заданного в команде L
                     generalNotaMultipl = 0.75 ' =3/4
                     i = i + 1
                 Case "F" 'MF Режим непосредственного исполнения. Т.е. на время проигрывания ноты программа приостанавливается. Используется по умолчанию
                     i = i + 1 'Сдвигаем точку чтения и ничего не делаем."
                 Case "B" 'MB проигрывние в буффер
                     i = i + 1 'Сдвигаем точку чтения и ничего не делаем."
               End Select
         Case "L" 'Lразмер   Задает длительность каждой ноты (1 - 64). L1 - целая нота, L2 - 1/2 ноты и т.д.
             curPosition = i + 1
             If extractNumber(curNota4, MuzStr, curPosition) Then
                 i = curPosition - 1
                 tempFlo = curNota4
                 NotaLong = 1 / tempFlo
             End If
         Case "T" 'Tтемп Задает темп исполнения в четвертях в минуту (32-255).По умолчанию 120
             curPosition = i + 1
             If extractNumber(tempo, MuzStr, curPosition) Then
                i = curPosition - 1
                takt = 240000 / tempo ' миллисекунд на 1 целую ноту. 240000= 60 сек * 1000 мсек/сек *4 четвертей в ноте
             End If
         Case "P" 'Pпауза    Задает паузу (1 - 64). P1 - пауза в целую ноту, P2 - пауза в 1/2 ноты и т.д.
             curPosition = i + 1
             If extractNumber(curNota4, MuzStr, curPosition) Then
                 tempFlo = curNota4
                 curPause = 1 / tempFlo
                 i = curPosition - 1
                 isPause = True
             End If
         Case " " 'Есть в некоторых текстах. Вероятно это пауза длительностью в текущую ноту
             curPause = NotaLong
             isPause = True
    End Select
    If isNota Then
      Select Case Muz2
         Case "#" ' диез
             Nota = Nota + 1
             i = i + 1
         Case "+" ' диез
             Nota = Nota + 1
             i = i + 1
         Case "-" ' бемоль
            Nota = Nota - 1
            i = i + 1
       End Select
       curPosition = i + 1
       If extractNumber(curNota4, MuzStr, curPosition) Then
         currentNotaDuration = takt / curNota4
         i = curPosition - 1
       End If
     End If
     If oktava < 0 Then oktava = 0
     If oktava > 6 Then oktava = 6
     If isNota Or isPause Then
       curPosition = i + 1
       pointsNum = pointsCount(MuzStr, curPosition)
       If pointsNum > 0 Then i = curPosition - 1
       curMultipl = 1
       For j = 1 To pointsNum
            curMultipl = curMultipl * 1.5
       Next
       currentNotaPauseDuration = takt * NotaLong
     End If
     If isNota Then
        curMultipl = curMultipl * generalNotaMultipl
        currentNotaDuration = currentNotaPauseDuration * curMultipl
        If curMultipl > 1 Then
          pauseDuration = 0
        
        Else
          pauseDuration = currentNotaPauseDuration - currentNotaDuration
        End If
        If Nota < 0 Then Nota = 0
        If Nota > 11 Then Nota = 11
        tempLong = freq(oktava, Nota)
        Beep tempLong, currentNotaDuration
        Sleep (pauseDuration) ' API Sleep
        'Sleep (currentNotaPauseDuration) ' API Sleep
     End If
     If isPause Then
         pauseDuration = takt * curPause * curMultipl
         Sleep (pauseDuration)
     End If
    '=====================
'    If isNota Then
'        Debug.Print "Muz= " & Muz;
'        Debug.Print " Nota= " & Nota;
'        Debug.Print " oktava= " & oktava;
'        Debug.Print " NotaLong= " & NotaLong;
'    '    Debug.Print " tempo= " & tempo;
'    '    Debug.Print " takt= " & takt;
'        Debug.Print " currentNotaDuration= " & currentNotaDuration;
'        Debug.Print " pauseDuration= " & pauseDuration;
'    '    Debug.Print " currentNotaPauseDuration= " & currentNotaPauseDuration;
'    '    Debug.Print " curMultipl= " & curMultipl;
'        Debug.Print
'    End If
    '=====================
   Next
End Sub
 
Private Sub freq_Init()
    Dim TT$, i%, M As Variant
    'Нота  0  1       2   3       4   5   6       7   8       9   10      11
    'Нота  C  C#/D-   D   D#/E-   E   F   F#/G-   G   G#/A-   A   A#/B?   B
    TT = "65,69,73,78,82,87,92,98,104,110,117,123"                     '0 = Большая октава
    M = Split(TT, ",")
    For i = 0 To 11: freq(0, i) = Val(M(i)): Next
    TT = "131,139,147,156,165,175,185,196,208,220,233,247"             '1 = Малая октава
    M = Split(TT, ",")
    For i = 0 To 11: freq(1, i) = Val(M(i)): Next
    TT = "262,277,294,311,330,349,370,392,415,440,466,494"             '2 = 1-я октава
    M = Split(TT, ",")
    For i = 0 To 11: freq(2, i) = Val(M(i)): Next
    TT = "523,554,587,622,659,698,740,784,831,880,932,988"             '3 = 2-я октава
    M = Split(TT, ",")
    For i = 0 To 11: freq(3, i) = Val(M(i)): Next
    TT = "1047,1109,1175,1245,1319,1397,1480,1568,1661,1760,1865,1976" '4 = 3-я октава
    M = Split(TT, ",")
    For i = 0 To 11: freq(4, i) = Val(M(i)): Next
    TT = "2093,2218,2349,2489,2637,2794,2960,3136,3322,3520,3729,3951" '5 = 4-я октава
    M = Split(TT, ",")
    For i = 0 To 11: freq(5, i) = Val(M(i)): Next
    TT = "4186,4435,4699,4978,5274,5588,5920,6272,6645,7040,7459,7902" '6 = 5-я октава
    M = Split(TT, ",")
    For i = 0 To 11: freq(6, i) = Val(M(i)): Next
    freq_Flag = True
'    Dim j
'    For i = 0 To 6
'        For j = 0 To 11
'            Debug.Print freq(i, j);
'        Next
'        Debug.Print
'    Next
End Sub
 
Private Function extractNumber%(ByRef myNumber%, MuzStr$, ByRef curPosition%)
    Dim i%, digitsNumber%, curDigit%, Muz$, AscMuz%
    myNumber = 0
    For i = curPosition To Len(MuzStr)
        Muz = Mid(MuzStr, i, 1)
        AscMuz = Asc(Muz)
        If AscMuz > 47 And AscMuz < 58 Then ' Коды ASCII цифр '0' = 48 , '9' = 57
            curDigit = AscMuz - 48
            digitsNumber = digitsNumber + 1
            myNumber = myNumber * 10 + curDigit
        Else
            extractNumber = digitsNumber
            Exit Function
        End If
        curPosition = curPosition + 1
    Next
    extractNumber = digitsNumber
End Function
 
Private Function pointsCount%(MuzStr$, ByRef curPosition%)
    Dim pointsNumber%, i%, Muz$
    For i = curPosition To Len(MuzStr)
        Muz = Mid(MuzStr, i, 1)
        If Muz = "." Then
            pointsNumber = pointsNumber + 1
        Else
            pointsCount = pointsNumber
            curPosition = curPosition + 1
            Exit Function
        End If
    Next
    pointsCount = pointsNumber
End Function
 
Sub main_Qb_PLAY()
Rem Theme from The Godfather
    Qb_PLAY "MNT150L4O2EA>C<BA>C<ABAFGL2E.P4L4EA>C<BA>C<ABAFEL2D.P4"
    Qb_PLAY "L4DFAL2B.P4L4DFAL2A.P4L4EGFFEGFEDC<BL2A"
    
    ' Jingle Bells
'    Qb_PLAY ("MNT255L4O2DBAGL2D.L8DDL4DBAGL2E.L4EE>C<BAL1F+L4>DDC<A")
'    Qb_PLAY ("L1BL4DBAGL2D.L8DDL4DBAGL2E.L4EE>C<BA>DDDDEDC<AL2G.P4L4B")
'    Qb_PLAY ("BL2BL4BBL2BL4B>D<G.L8AL1BL4>CCC.L8CL4C<BBL8BBL4BAABL2A")
'    Qb_PLAY (">DL4<BBL2BL4BBL2BL4B>D<G.L8AL1BL4>CCC.L8CL4C<BBL8BBL4>D")
'    Qb_PLAY ("DC<AL1G")
'    'Sleep (5000)
'    '  KATIUSHA
'    Qb_PLAY ("MST255L2O2E.L4F+L2G.L4EGGF+EL2F+L4<BP4L2>F+.L4GL2A.L4F+")
'    Qb_PLAY ("AAGF+L1EL2B>EDL4EDCC<BAL2BEP4>CL4<AL2B.L4GF+<B>GF+L1E")
'    Qb_PLAY ("L2B>EDL4EDCC<BAL2BEP4>CL4<AL2B.L4GF+<B>GF+L1E")
'    'Sleep (5000)
'    ' Bach 1
'    Qb_PLAY ("MNT150L8O3AL16>C<AL8EL16AEL8CL16ECL4<AL16EA>C<ABABAG+")
'    Qb_PLAY ("B>D<B>C<B>C<AL8>AL16>C<AL8EL16AEL8CL16ECL4<AL16>C<BL8>C")
'    Qb_PLAY ("L16C<BL8>CAL16C.L32DL8C<BL16>ED+L8EL16ED+L8E>CL16<E.L32F")
'    Qb_PLAY ("L8ED+L16<B>EGEF+EF+ED+F+AF+GF+GF+EGED+EAED+EBED+E>C<E")
'    Qb_PLAY ("D+E>C<BABGF+EL8GL32F+GL16F+L4EL8AL16>C<AL8EL16AEL8CL16E")
'    Qb_PLAY ("CL4<AL16EA>C<ABABAG+B>D<B>C<B>C<AL8>AL16>C<AL8EL16AEL8C")
'    Qb_PLAY ("L16ECL4<AL16>C<BL8>CL16C<BL8>CAL16C.L32DL8C<BL16>ED+L8E")
'    Qb_PLAY ("L16ED+L8E>CL16<E.L32FL8ED+L16<B>EGEF+EF+ED+F+AF+GF+GF+")
'    Qb_PLAY ("EGED+EAED+EBED+E>C<ED+E>C<BABGF+EL8GL32F+GL16F+L4EL8E")
'    Qb_PLAY ("L16GEL8<BL16>E<BL8GL16BGL4EL8AG+>DC+GL16FEL8FDFL16AFL8D")
'    Qb_PLAY ("L16FDL8<BL16>D<BL4GL8>CL16ECDCDC<B>DFDEDEDCEC<B>CFC<B")
'    Qb_PLAY (">CGC<B>CAC<B>CAGFGEDCL8EL32DEL16DL4CL16EDL8EL16EDL8E>C")
'    Qb_PLAY ("<EL64FL8EDL16DCL8DL16DCL8DBDL64EL8DCAL16>C<AGL4F.L16A")
'    Qb_PLAY ("FEL4D.L16FDCL4<A+L16A+AA+AL4G+L8FEAG+>DL16C<B>C<A>CEL8A")
'    Qb_PLAY ("EL16DC<B>CL4<AL8>EL16GEL8<BL16>E<BL8GL16BGL4EL8AG+>DC+")
'    Qb_PLAY ("GL16FEL8FDFL16AFL8DL16FDL8<BL16>D<BL4GL8>CL16ECDCDC<B")
'    Qb_PLAY (">DFDEDEDCEC<B>CFC<B>CGC<B>CAC<B>CAGFGEDCL8EL32DEL16DL4C")
'    Qb_PLAY ("L16EDL8EL16EDL8E>C<EL64FL8EDL16DCL8DL16DCL8DBDL64EL8D")
'    Qb_PLAY ("CAL16>C<AGL4F.L16AFEL4D.L16FDCL4<A+L16A+AA+AL4G+L8FEA")
'    Qb_PLAY ("G+>DL16C<B>C<A>CEL8AEL16DC<B>CL4<A")
 
End Sub


Перевод на C++ :

Перевод на C++ для Ардуино:

173 мелодии в файлах .bas

Во вложении - проигрыватель мелодий напрямую из файлов *.bas с помощью файлового диалога Excel.
2
Вложения
Тип файла: rar Qb_PLAYER.rar (23.6 Кб, 77 просмотров)
KoGG
5272 / 1345 / 320
Регистрация: 23.12.2010
Сообщений: 2,019
Записей в блоге: 1
01.12.2012, 14:00 #28
Шахматы на VBA в Excel
12
Миниатюры
Авторские программы, библиотеки, надстройки и шаблоны  
Catstail
Модератор
23546 / 11656 / 2039
Регистрация: 12.02.2012
Сообщений: 19,015
01.12.2012, 18:24 #29
KoGG - класс!!!
0
Казанский
13937 / 5700 / 1459
Регистрация: 24.09.2011
Сообщений: 8,918
01.12.2012, 19:01 #30
Если у кого-нибудь не работает прокрутка колесиком мыши в редакторе VBA, установите эту крошечную программу.
Страница на сайте разработчика: http://www.gasanov.net/VBScroll.asp
4
Вложения
Тип файла: zip VBScroll.zip (32.7 Кб, 98 просмотров)
Казанский
13937 / 5700 / 1459
Регистрация: 24.09.2011
Сообщений: 8,918
30.12.2012, 12:47 #31
Готовые решения и полезные коды на Visual Basic 6.0

Мне это казалось очевидным, но, судя по тому, сколько благодарностей набрал пост...
0
Alex77755
10714 / 3289 / 547
Регистрация: 13.02.2009
Сообщений: 9,668
31.12.2012, 19:47 #32
Цитата Сообщение от Казанский Посмотреть сообщение
Если у кого-нибудь не работает прокрутка колесиком мыши в редакторе VBA, установите эту крошечную программу.
Страница на сайте разработчика: http://www.gasanov.net/VBScroll.asp
Спасибо. Очень удобная программа.
Одно неудобство - зачем-то постоянно лезет в интернет, а фаервол не хочет запоминать её и постоянно выдаёт сообщение. Невольно наталкивает на мысль: а зачем простенькая программа постоянно лезет в интернет? Не нравятся мне такие программы. Даже если они и безвредны!
1
Казанский
13937 / 5700 / 1459
Регистрация: 24.09.2011
Сообщений: 8,918
01.01.2013, 23:04 #33
Цитата Сообщение от Alex77755 Посмотреть сообщение
Одно неудобство - зачем-то постоянно лезет в интернет
Честно говоря, не замечал, хотя пользуюсь давно
Цитата Сообщение от Alex77755 Посмотреть сообщение
фаервол не хочет запоминать её и постоянно выдаёт сообщение
Может, можно настроить фаервол так, чтобы он блокировал запросы этой программы без сообщений?
0
Dragokas
Эксперт WindowsАвтор FAQ
16945 / 7030 / 855
Регистрация: 25.12.2011
Сообщений: 10,832
Записей в блоге: 16
04.01.2013, 02:00 #34
Так есть официальное от Майкрософт.

DLL: VB Дочитайте статью до конца - там поддержка VBA IDE заявлена тоже (Reg-ключик).

Для VBA

Для самих элементов управления:
API на основе HookXP от Karl E. Peterson's
0
tevadim
91 / 1 / 1
Регистрация: 09.01.2013
Сообщений: 2
09.01.2013, 11:35 #35
SUPER утилита на все случаи жизни ! ASAP НАДСТРОЙКА - БЕСПЛАТНАЯ Можно прочитать http://shperk.ru/uroki/excel/makrosy-v-excel.html
1
Вложения
Тип файла: rar ASAPUtilities_4-8-6_HS_Setup.rar (7.87 Мб, 312 просмотров)
Казанский
13937 / 5700 / 1459
Регистрация: 24.09.2011
Сообщений: 8,918
17.02.2013, 14:25 #36
Как провозглашают создатели, цель надстройки - облегчить ежедневную жизнь программиста
Она помогает писать код, конструировать формы, документировать проект, оценивать качество кода.

Подробно и с картинками на этой странице: http://www.mztools.com/v3/features.aspx
Версия 3 для VBA (только для 32 бит!), VB6, VB5 бесплатна: http://www.mztools.com/v3/download.aspx
2
влад74
99 / 17 / 0
Регистрация: 02.07.2012
Сообщений: 148
14.03.2013, 11:48 #37
Всем доброго .....
Делюсь наработанным.
Во вложенном файле исходный интерфейс БД Access.
БД защищена от Шифта, нет доступа к коду, ленте и к навигации.
База "запоролена". При открытие нужно будет создать свой код. Срок действия кода - полгода, затем каждые полгода нужно вводить новый код (или блокировать код - чтобы отключить пароль).
Доступ к шифту, коду, навигации, ленте можно восстановить. Для этого нужно открыть Админ_форму (нажав F11 - пароль kurguzov).

good luck
2
Вложения
Тип файла: rar MacCess_&_Kurguzov.rar (157.7 Кб, 155 просмотров)
KoGG
5272 / 1345 / 320
Регистрация: 23.12.2010
Сообщений: 2,019
Записей в блоге: 1
22.03.2013, 11:02 #38
OLAP куб - реализован в виде класса OLAP. Предназначен для работы с ячейками Excel как с OLAP кубом.
Создание куба OLAP в excel 2010

OLAP куб весьма оригинальный объект.
Например запросы из примера:
MyOLAP.cube() возвращает 3-х мерную матрицу
MyOLAP.cube(, , 3) возвращает двумерную матрицу
MyOLAP.cube(, 2, 3) возвращает одномерную матрицу- вектор
MyOLAP.cube(10, 2, 3) возвращает переменную.
Аналогичны особенности и в присвоении данных кубу.
3
Казанский
13937 / 5700 / 1459
Регистрация: 24.09.2011
Сообщений: 8,918
19.04.2013, 14:50 #39
Protect VBA (v.1.6)- программа, которая устанавливает защиту проекта VBA от просмотра и изменения.
При попытке открыть проект VBA, защищенный этой программой, появляется сообщение

Project Locked - Project is unviewable

, как у многих коммерческих надстроек.
Есть разные мнения о надежности защиты, вот цитаты из обсуждения этой программы:
> пробовал елкомсофтом -- неберет,
пробовал vba masters тож неберет
понравилась что эти две программы не берут так как самые распространенные
не понравилась - нельзя опять открыть код для правки, только исправить в незащищенном файле и снова перекодировать.

> В общем-то прога хорошая, хотя и тоже не такая уж и надежная(для знающих). Она делает недоступным проект VBA. А делает она это правкой потоков файла в VBA_PROJECT_CUR. При помощи FARManager можно попытаться посмотреть, что именно она меняет(это кому вдруг очень интересно станет). При определенном желании и терпении можно снять и такую защиту.
Но проги по удалению паролей(типа AOPR) здесь бессильны, что радует

> к моему великому огорчению код МОЖНО посмотреть (слегка в диковатом виде) в OpenOffice
2
Вложения
Тип файла: zip ProtectVBA.zip (286.7 Кб, 245 просмотров)
Dragokas
Эксперт WindowsАвтор FAQ
16945 / 7030 / 855
Регистрация: 25.12.2011
Сообщений: 10,832
Записей в блоге: 16
19.04.2013, 15:24 #40
Статья. Ускоряем запуск Excel 2007

Не по теме:

Не знаю, в какую это тему. В идеале - для раздела об Excel.

0
19.04.2013, 15:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2013, 15:24

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

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

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


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

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

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