|
|
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, спецы. Созрел такой вопрос. Был проект на VBA, все работало, все было ок. Потребовалось перенести процедуру из этого проекта на VBS. Эта процедура использует класс. Так вот, при переносе, процедура перенеслась нормально, а класс выдает ошибку. Вот кусочек скрипта. Ошибка в строке Private Declare Function.... Может быть кто-нибудь может объяснить что не так. Помогите!!!! Class CNetUrl Private Declare Function InternetCrackUrl Lib "wininet.dll" _ Alias "InternetCrackUrlA" (ByVal lpszUrl As String, ByVal dwUrlLength As Long,_ ByVal dwFlags As Long, lpUrlComponents As URL_COMPONENTS) As Long Private Declare Function InternetCanonicalizeUrl Lib "wininet.dll" _ Alias "InternetCanonicalizeUrlA" (ByVal lpszUrl As String,ByVal lpszBuffer As String, _ lpdwBufferLength As Long, ByVal dwFlags As Long) As Long Private Declare Function InternetCreateUrl Lib "wininet.dll" _ Alias "InternetCreateUrlA" (lpUrlComponents As URL_COMPONENTS, _ ByVal dwFlags As Long, ByVal lpszUrl As String, lpdwUrlLength As Long) As Long ..... .... ... End Class ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 18:04:21 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
в VBS есть тип данных только Variant, т.е "as Long" там не прокатит -------------- crazy about... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 18:10:41 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
ВБС не позволяет вызывать АПИ функции - никак можно написать обертку АПИ функции в виде КОМобъекта а из ВБС вызывать уже КОМобъект - он это умеет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 18:12:09 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
2 KELME: Не гони. Всё там есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 18:12:33 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Proga2 KELME: Не гони. Всё там есть. cмотри тут VBScript has only one data type called a Variant. A Variant is a special kind of data type that can contain different kinds of information, depending on how it is used. Because Variant is the only data type in VBScript, it is also the data type returned by all functions in VBScript. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 18:37:05 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
господа, имхо дискуссия о вариантах и лонгах оффтоп вопрос был о другом http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/vsgrpnonfeatures.asp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 18:58:10 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
То есть так что-ли писать?? К сожалению с VBS сталкиваюсь во второй раз.. Class CNetUrl Private Declare Function InternetCrackUrl Lib "wininet.dll" _ Alias "InternetCrackUrlA" (ByVal lpszUrl As String, ByVal dwUrlLength As Long,_ ByVal dwFlags As Long, lpUrlComponents As URL_COMPONENTS) As Variant Private Declare Function InternetCanonicalizeUrl Lib "wininet.dll" _ Alias "InternetCanonicalizeUrlA" (ByVal lpszUrl As String,ByVal lpszBuffer As String, _ lpdwBufferLength As Long, ByVal dwFlags As Long) As Variant Private Declare Function InternetCreateUrl Lib "wininet.dll" _ Alias "InternetCreateUrlA" (lpUrlComponents As URL_COMPONENTS, _ ByVal dwFlags As Long, ByVal lpszUrl As String, lpdwUrlLength As Long) As Variant ..... .... ... End Class ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 19:00:52 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
без as Variant -------------- crazy about... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 19:03:44 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Сразу не понял, прошу прощения, думал, что автор говорит о проекте VB в STUDIO. P.S. О кстати, если это скрипт могу помочь. Но теперь только завтра, пора домой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 19:07:39 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
да как не пиши - нет такого ключевого слова "declare" в ВБСкрипте :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.01.2005, 19:08:30 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Уважаемый Proga Если можете, то помогите, пожалуйста. Может быть подкинетепримерчик описания класса на VBS.. Очень нужно, вся работа стоит. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 09:59:15 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Вообщем порылся тут немного, и совет такой напиши свой COM-объект на VB(ActiveX), зарегестрируй на всех клиентских машинах его, и при написании на VBScript, ссылайся на него как на класс. Предложенный тобой вариант не прокатит, т.к. возможности VBS ограничены. Либо учи WMI, но это для меня "высший пилотаж", с этим пока плохо знаком, единственное могу помочь, прилагаю файл сам поймёшь, когда посмотришь, выкину тебе на мыло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 10:51:44 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Уважаемый Proga Можно вот в этом месте поподробнее и с примером. В этом я чайник...... "напиши свой COM-объект на VB(ActiveX), зарегестрируй на всех клиентских машинах его, и при написании на VBScript, ссылайся на него как на класс" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 12:01:48 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Nusik, извини конечно, но специально для тебя, VB ставить не буду, а для инфы поставь себе VB6, почитай книжку какую-нибудь умную, спросить на форуме по VB, да и напиши свой COM, а лучше брось своё извращение, и напиши нормальный проект на VB, и функционала по-более и самому интересно будет. VBS штука сложная, не очень приспособленная для написания клиента, в силу своей обрезанности (кастрированный VB) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 12:39:42 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Уважаемый Proga! На VB, Access2003 проект уже есть, там все работает, все отлично. Но в зависимости от того, когда придет сотрудник он этот проект запускает и данные обрабатываются только когда сотрудник есть. Задачка заключалась именно в том, чтобы реализовать это на VBS и включить автоматически скрипт 1 раз в день, чтобы обработка данных не зависела от прихода сотрудника и к приходу всех данные были бы уже обработаны. Поэтому может хоть ссылочку на пример......, please ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 12:46:58 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
если надо в базе покавыряться, то можно так например, но это всего лишь способ, а остальное сам. Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 12:59:37 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
NusikУважаемый Proga! На VB, Access2003 проект уже есть, там все работает, все отлично. Но в зависимости от того, когда придет сотрудник он этот проект запускает и данные обрабатываются только когда сотрудник есть. Задачка заключалась именно в том, чтобы реализовать это на VBS и включить автоматически скрипт 1 раз в день, чтобы обработка данных не зависела от прихода сотрудника и к приходу всех данные были бы уже обработаны. Поэтому может хоть ссылочку на пример......, please ну и запускайте автоматически проект Access 2003 один раз в день на кой VBS то сдался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 13:04:52 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
ЛП А как запустить проект Access автоматически? Там просто модуль, не зависящий от событий пользователя. Нужно ручками влезть в код и запустить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 13:10:21 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
через Task Scheduler -------------- crazy about... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 13:11:39 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Подсказка: макрос Autoexec ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 13:11:53 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Спасибо всем, попробую разобраться!!!!!!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 13:13:27 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
А не проще из скрипта Аксесс запустить, скажем так? Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 13:14:39 |
|
||
|
с VBA на VBS
|
|||
|---|---|---|---|
|
#18+
Alexey ShА не проще из скрипта Аксесс запустить, скажем так? А зачем запускать аксес из скрипта, если можно запустить сам аксес? Или скрипт может сделать что-то, чего принципиально нельзя сделать из аксеса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.01.2005, 13:18:08 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1494&tid=1669174]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
31ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 202ms |
| total: | 359ms |

| 0 / 0 |
