|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studierenЧтобы узнать существование файла иногда используют вот такой код: Код: vbnet 1.
... Код: vbnet 1. 2. 3. 4. 5. 6. 7.
Другой вариант предлагает Старый Ворчун: Как проверить сущесвование фала? Есть ещё 1 "штатный", но только слегка скрытый способ: Код: vbnet 1. 2. 3. 4.
Тут "On Error Resume Next" нужен на всякий случай, типа "сеть недоступен" и т.д., и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 16:19 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Ой, очепятка. :) Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2012, 16:20 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Я тут слегка опять ошибся, не добавил "магический ключ" для "WizHook". Код: vbnet 1. 2. 3. 4. 5.
Провел такой эксперимент: от самого минимального (-2147483648) до самого максимального (2147483647) целого числа типа long программно перебрал все значения для ключа "WizHook". Только и только в случае 51488399 WizHook работает нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2012, 07:51 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Я как-то на лесенке (вот здесь 13162105 ) задал вопрос "как программно поменять папку в окне диалога". В смысле программно подменить папку таким образом, чтобы при нажатии Ctrl+O оказаться в нужной папке. Но при этом опцию "Default Database Directory" не трогать, чтобы другие базы не пострадали. Проблему мог бы решить и простой код ChDir, который по описанию хелпа как раз таки должен был изменить текущую папку. Но проблема в том, что ChDir совсем не влияет на Ctrl+O. Решение оказывается всё-таки существует. Вот и сам код, которого я в тот момент искал: Код: vbnet 1.
Свойство "CurrentDirectory" оказывается не только для чтения, но и для записи. Оно как раз таки влияет на Ctrl+O. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.09.2012, 13:08 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
А2003. Наткнулся чисто случайно на такую вещь. Если поменять свойство базы данных "ANSI Query Mode" на True (оказывается такое свойство по умолчанию существует для mdb файлов), Код: vbnet 1.
то в "Сервис" ==> "Параметры" во вкладке "Синтаксис для SQL Server (ANSI 92)" появляется птичка там, где "текущая база данных". После этого попробовал вот такой код: Код: vbnet 1. 2.
Как видно из результата пока что ANSI 92 "не вступил в силу". :) По идее если стоит галка SQL Server (ANSI 92), то вместо "*" должен работать "%". Когда программно меняю свойство "ANSI Query Mode", то такой номер поначалу не проходит. Но как только перезагружаю БД, то проходит. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 14:15 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studierenТолько и только в случае 51488399 WizHook работает нормально. 735770 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2012, 14:18 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Есть такой dll файл, который находится по умолчанию вот здесь "C:\WINDOWS\system32\FM20.DLL". Когда его подключаем к проекту VBA, то появляется референс "Microsoft Forms 2.0 Object Library". По названию понятно, что работает с формами VBA (но не формами MS Access). Есть полезная особенность этой библиотеки: помимо прочего работает с буфером обмена (clipboard). Может прочесть из буфера (метод GetFromClipboard) или наоборот скопировать в буфер (PutInClipboard). Вот примерчик из help'a: GetFromClipboard Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
PutInClipboard Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Решил найти способ позднего подключения к этой библиотеке, чтобы не быть зависимым от версии офиса / ОС и т.д. Нашёл только 1 способ: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Вместо таинственного "заклинания" new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69} другую более понятную "формулировку" не нашёл. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 10:14 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2.
http://www.cpearson.com/excel/Clipboard.aspx ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 10:47 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
сорри. я недопонял/не прочитал текст. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 10:57 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studierenВместо таинственного "заклинания" new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69} другую более понятную "формулировку" не нашёл. :) А нет другой формулировки. Посмотрел в "OLE/COM Object Viewer" Может свой класс? У Гетца есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2012, 14:04 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studierenРешил найти способ позднего подключения к этой библиотеке, чтобы не быть зависимым от версии офиса / ОС и т.д. Нашёл только 1 способ: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Вместо таинственного "заклинания" new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69} другую более понятную "формулировку" не нашёл. :)Нет ProgID у MSForms.DataObject. Желающие могут добавить в реестр пару строк Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2012, 00:19 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
ЦЦаНет ProgID у MSForms.DataObject. Желающие могут добавить в реестр+ пару строк Код: plaintext 1. 2. 3. 4. 5.
Я так понимаю теоретически можно создать любую ветку в Win регистре да хоть "Чёрт знает что" по аналогию, ну а потом в VBA создавать CreateObject("Чёрт знает что")! Забавно!!! Но что самое главное работает!!! :) ЦЦа, Большое СПАСИБО за наводку! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2012, 09:45 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studieren, А какой смысл создавать ProgId если его нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2012, 11:01 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studieren, Если нужен объект, то можно создать его и через CLSID, что успешно проделывается в твоём коде. А если нет класса, то в любом случае не поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2012, 11:04 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Панургstudieren, А какой смысл создавать ProgId если его нет? Да по приколу можно в своем проекте везде создавать объект CreateObject("Хрень") и работать с ним. Если кто-нибудь и скопирует саму базу, то там (в других компах) конечно всё это не будет работать. P.S. Это так сказать из той оперы что-то вроде "пригвоздить проект на основе серийного номера харда". :) P.S.S. Я не сторонник радикальной защиты файла БД, а просто можно оказывается и так защитить кое-что в своей базе. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2012, 12:06 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Bryk_AlienЕсли зайти в ---> Панель управления –> Администрирование –> Источники данных и попытаться настроить пользовательский ODBC, то винда выдаст ошибку 196. Это происходит потому, что вызывается настройщик для 32х разрядной системы. Для того чтобы вызвать настройщик для 64-х битной винды нужно найти файл: %WINDIR%\SysWOW64\odbccad32.exe и запустить его. Случайно наткнулся на блог Как настроить MS Access ODBC драйвер на windows7 x64 или vista x64 Там как раз об этом идёт речь. Текст блогаОднажды возникла проблема при установке одной программы, та программа требовала настроить ODBC драйвер (microsoft access driver) на windows 7. При входе в "Источники данных (ODBC)" можно было только добавить драйвер SQL Server'а. Требуемого драйвера не было. Я перерыл множество инструкций и форумов прежде чем нашел совет, который мне помог. Вот он "How to Use Microsoft Access ODBC drivers for Vista x64/ Windows 7 x64". Оказывается в Vista/Windows7 x64 есть две копии odbcad32.exe, один из них находится в "C:\Windows\syswow64\ ", а другой в "C:\Windows\system32\". Открывая как обычно "Источники данных (ODBC)" через "панель управления — администрирование", мы открываем второй вариант odbcad32.exe, то есть тот, который располагается в "C:\Windows\system32\" и у нас нет нужного нам драйвера ODBC! Необходимо открыть вот этот файл "C:\Windows\syswow64\odbcad32.exe". Там без особых проблем можно установить MS Access ODBC driver. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.10.2012, 10:28 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Создал обычный текстовый файл "V.vbs" и написал внутри простой код: Код: vbnet 1.
Когда запускаю, то программа ругается. Error: Type mismatch: 'Format' Code: 800A000D Source: Microsoft VBScript runtime error Как же так? Попробовал вот такой код в VBA, который вызывает VBScript: Код: vbnet 1. 2. 3. 4. 5.
И опять программа ругается: Type mismatch: 'Format' Это что же получается? Банальная функция Format в VB скриптах работает как-то не так? Может как-то "по особому" надо "объяснить" ему как нужно работать с датой? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 11:54 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 12:11 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
ЦЦа, Я так понимаю у VBScript нет такой функции Format??? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 12:15 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studieren, msgbox другой ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 12:25 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
ILL HEADstudieren, msgbox другойтам где Формат написал - там кнопки прописываются. а Формата кажысь нет. тебе влом скачать ВБСу хелп с тырнета? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 12:27 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studieren, Format-ов в VBS не один на все случаи, а 4: FormatCurrency FormatDateTime FormatNumber FormatPercent ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 12:35 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
ЦЦа, Мне вообще-то нужно было дату превратить в 'yyyymmdd', чтобы отправить запрос к SQL Server. Поэтому решил использовать Format, но как-то не подумал (и не проверил), что у VBScript нету такой функции. :) Это я по инерции пользователя VBA. :-) Ну нет, значит нет. Буду использовать самопальную функцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 12:49 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
ILL HEADstudieren, msgbox другой VBScript умеет работать с Msgbox. Можете проверить. :) ILL HEADтебе влом скачать ВБСу хелп с тырнета? Да не влом. У меня вот здесь C:\Program Files\Microsoft Office\OFFICE11\1049\VBSCRIP5.CHM "по умолчанию" уже был хелп, видимо когда устанавливал офис там в дистрибутиве уже был. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.11.2012, 12:54 |
|
|
start [/forum/topic.php?fid=45&msg=38009030&tid=1610226]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 143ms |
0 / 0 |