Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript (Часть 2)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопросы, задачи и их решения по VBScript.

 
Мануал (english, 600 Кб). | Зеркало
MS Scripting 5.6 (700 КБ), включает последнюю версию VBS. Владельцам XP/2000(?) должен быть не нужен. | Зеркало
Немного на wikiпедии.
Предыдущие части: 1
 
Смежные темы:
Сценарии Windows
Командная строка, батники\сценарии (bat, cmd)
Скрипты KiXtart

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 04:12 12-07-2011 | Исправлено: Smitis, 23:28 26-02-2018
Alex_Piggy

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Astra55
#
Увидел. Интересно. Wscript запрещен. Ищу. Временное решение #
Окончательный вариант

Код:
 
Function OnLastProcessExit    
   Set FSO = CreateObject("Scripting.FileSystemObject")
   BasePath = GetEnvironmentVariable("TS_ORIGIN") : BasePath = Left(BasePath, len (BasePath) - 4) & "\"
   FileName=BasePath & "%Local AppData%\Compare++\Compare++_2_0.ini"
   If fso.FileExists(FileName) Then    
       fso.DeleteFile FileName, TRUE    
   End If    
End Function
 

Всего записей: 1906 | Зарегистр. 07-08-2002 | Отправлено: 22:13 03-06-2013 | Исправлено: Alex_Piggy, 23:55 03-06-2013
LordHomyak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex_Piggy, я так понял нужна папка LocalAppData а не AppData
Можно попробовать получить путь через через NameSpace, проверял на thinapp 4.5 Код VBS

Всего записей: 45 | Зарегистр. 10-02-2010 | Отправлено: 22:43 03-06-2013 | Исправлено: LordHomyak, 22:44 03-06-2013
fff222fffy1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые знатоки!
Подскажите пожалуйста решение или костыли, если это вообще возможно.
В приложении .hta создал что-то типа массива элементов управления (во всяком случае они создаются и данные в них вносятся). Отрывок на VBS:

Код:
                Set oRow=dinamik.insertRow
                Set oCell = oRow.insertCell
                oCell.InnerHTML ="<input size='6' id=zajavs(" & i & ") type='text' value='" & zajav.value & "'>"

Но вот как к ним теперь обратиться, не имею представления.
Код
Код:
            for i=0 to KolVo-1
                tf.WriteLine(zajavs(i).value & ":" & stamps(i).value & ":" & komplekts(i).value & ":" & prims(i).value & ":" & otherprims(i).value)  
            Next

выдаёт ошибку "Несоответствие типа: 'zajavs'"

Всего записей: 30 | Зарегистр. 07-01-2010 | Отправлено: 00:26 08-06-2013
fff222fffy1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извините за беспокойство, справился:

Код:
            for i=0 to KolVo-1
                zajavsID="zajavs(" & i & ")"
                stampsID="stamps(" & i & ")"
                komplektsID="komplekts(" & i & ")"
                primsID="prims(" & i & ")"
                otherprimsID="otherprims(" & i & ")"
                tf.WriteLine(document.getElementById(zajavsID).value & ":" & document.getElementById(stampsID).value & ":" & document.getElementById(komplektsID).value & ":" & document.getElementById(primsID).value & ":" & document.getElementById(otherprimsID).value)
            Next
 

Всего записей: 30 | Зарегистр. 07-01-2010 | Отправлено: 17:17 08-06-2013
velvetfox

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Знатоки, прошу, помогите чайнику. RTFM уже прошел, не смог разобраться.
 
Много лет выручал меня вот этот скрипт для бэкапа:

Код:
Option Explicit  
Dim objFSO  
 
Set objFSO = CreateObject("Scripting.FileSystemObject")  
 
On Error Resume Next    
objFSO.CopyFolder "C:\EssentialPIM" , "F:\BACKUP\EssentialPIM" , TRUE
objFSO.CopyFolder "C:\EssentialPIM" , "F:\EPIMportable\Database" , TRUE
objFSO.CopyFolder "C:\EssentialPIM" , "D:\bu" , TRUE
If Err<>0 Then  
    MsgBox "Произошла ошибка: " & Err.Description,vbCritical  
Else  
    MsgBox "Копирование завершено успешно",vbInformation  
End If

 
Как переписать код, чтобы в F:\BACKUP\ каждый раз создавалась новая папка EssentialPIM
с прибавлением порядкового номера (EssentialPIM1, EssentialPIM2 и т.д.) и туда копировалось содержимое C:\EssentialPIM ? Всё остальное без изменений.
Спасибо.

Всего записей: 8 | Зарегистр. 11-09-2009 | Отправлено: 16:11 16-06-2013
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 16:32 17-06-2013 | Исправлено: Parazitif, 19:27 17-06-2013
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача несколько усложнилась.. Вышеописанный скрипт запускается на компе сис.админа (Windows 7), но при этом не запускается на других двух компах, при этом на одном проверено в двух режимах пользователя (Администратор и Обычный пользователь), на другом же права администратора по умолчанию (других пользователей и нет).
Скрипт все так же выдаёт окно "Файлы не выбраны!", в то время как на компе сис.админа, как положено, открывается окно проводника с возможностью выбора файлов указанных расширений и далее в автоматическом режиме вносятся изменения в свойства этих файлов.

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 06:45 18-06-2013
vadim100

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Скрипт все так же выдаёт окно "Файлы не выбраны!", в то время как на компе сис.админа, как положено, открывается окно проводника с возможностью выбора файлов указанных расширений и далее в автоматическом режиме вносятся изменения в свойства этих файлов.

 
Судя по описанию ты используешь MSComDlg и он у тебя не работает.
Эти ActiveX библиотеки надо регистрировать в системе, скопировав *.ocx в системный каталог и ввести команду с правами админа вроде на память
regsvr32.exe имя_файла(MSCOMCTL.OCX)
 
Из инета:
In a similar situation, the problem was solved by re-registering this file: “C:\WINDOWS\System32\MSCOMCTL.OCX”.
This totally saved me, THANKS! I thought the problem was related to my 64bit Windows 7 where files need to be in the SysWOW64 folder and registered via CMD as Administrator. This solved the problem for previous OCX files but not for my current problem. The registry file made ALL the difference and my old faithful APP was running again.
 
Добавлено:
velvetfox

Цитата:
Как переписать код, чтобы в F:\BACKUP\ каждый раз создавалась новая папка EssentialPIM
с прибавлением порядкового номера (EssentialPIM1, EssentialPIM2 и т.д.) и туда копировалось содержимое C:\EssentialPIM ? Всё остальное без изменений.  

 
Я бы сделал как-то так
 
Const str = "F:\BACKUP\EssentialPIM"
Dim count
Dim strTargetDir
 
count=1
 
Do While objFSO.FolderExists(str & count)
 count=count+1
Loop  
 
strTargetDir=str & count
 
Используешь дальше strTargetDir

Всего записей: 90 | Зарегистр. 02-04-2003 | Отправлено: 07:34 18-06-2013
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот с этого места, если можно по-подробнее..
Я просто откровенно чайник в программировании, но были мысли, что в теме автора скрипта идёт указание на лицензирование класса MSComDlg.CommonDialog . Но как конкретно его провести, я не шарю, даже погуглив в нэте.
Что значит регистрировать в системе? Этого не понял.. Сами файлы regsvr32.exe и MSCOMCTL.OCX в системе нашёл, но чё с ними делать.. Если можно, пошагово, что и где изменить в скрипте, что не в скрипте. Где именно, как, если вас не затруднит.
Извиняюсь за свою глупость в данном вопросе!

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 08:10 18-06-2013 | Исправлено: Parazitif, 08:14 18-06-2013
vadim100

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
выполнить команду в cmd от админа в каталоге где лежит MSCOMCTL.OCX
  regsvr32.exe MSCOMCTL.OCX  
выдастся сообщение что компонент зарегистрирован.
 
в скрипте менять ничего не надо, просто должно всё заработать

Всего записей: 90 | Зарегистр. 02-04-2003 | Отправлено: 08:31 18-06-2013
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за помощь, но это не помогло..
А может и помогло, но только после того, как через regedit в директории HKEY_CLASSES_ROOT\Licenses\ добавил вот такие подразделы:
4D553650-6ABE-11cf-8ADB-00AA00C00905 со значением gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj
 
а также
 
78E1BDD1-9941-11cf-9756-00AA00C00908 со значением
yjrjvqkjlqqjnqkjvprqsjnjvkuknjpjtoun
 
В итоге всё заработало, как должно!  
 
vadim100, благодарю за отзывчивость, а также mozers за запись http://forum.ru-board.com/topic.cgi?forum=33&topic=1491&start=124, а именно

Цитата:
Код:
REGEDIT4  
 
[HKEY_CLASSES_ROOT\Licenses\4D553650-6ABE-11cf-8ADB-00AA00C00905]  
@="gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj"  
 
[HKEY_CLASSES_ROOT\Licenses\78E1BDD1-9941-11cf-9756-00AA00C00908]  
@="yjrjvqkjlqqjnqkjvprqsjnjvkuknjpjtoun"  

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 08:56 18-06-2013 | Исправлено: Parazitif, 08:57 18-06-2013
vadim100

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
также mozers за запись

 
да уж спасибо mozers.
думал регистрация regsvr32 снимает все проблемы.
а там еще оказывается проблемы с лицензиями.
 
мда. описание проблемы на английском
http://www.tutorialsto.com/dotnet/control-and-components/with-regard-to-the-registration-and-license-control-solution-to-the-problem.html

Всего записей: 90 | Зарегистр. 02-04-2003 | Отправлено: 09:03 18-06-2013 | Исправлено: vadim100, 09:04 18-06-2013
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
мда. описание проблемы на английском  
http://www.tutorialsto.com/dotnet/control-and-components/with-regard-to-the-registration-and-license-control-solution-to-the-problem.html

Да, полезная инфа! Как решу вплотную заняться изучением VBS и VBA, обязательно надо будет внести себе в реестр.

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 09:38 18-06-2013
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подробнее...

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 09:49 23-06-2013 | Исправлено: Parazitif, 09:52 23-06-2013
ysybarite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Просьба помочь со скриптом.  
На сколько я смог его проверить проблема с командой пинга, он получает ошибку при нормальном соединении и переходит к выполнению перезапуска.
Спасибо.
#

Всего записей: 61 | Зарегистр. 01-09-2009 | Отправлено: 13:11 23-06-2013 | Исправлено: ysybarite, 13:16 23-06-2013
vadim100

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Parazitif
 
почитай
http://answers.microsoft.com/en-us/windows/forum/windows_7-system/i-got-error-0x8002801c-in-windows-7-register-ocx/471a9b26-88c1-4765-9417-bae27ff8fe3b
 
Добавлено:

Цитата:
На сколько я смог его проверить проблема с командой пинга, он получает ошибку при нормальном соединении и переходит к выполнению перезапуска.  

 
 
мне кажется значение Ping=true
надо присваивать до цикла
 
 For Each objStatus In objPing
 
иначе в цикле он просто не попадает в выборку по select и всегда получается false.

Всего записей: 90 | Зарегистр. 02-04-2003 | Отправлено: 15:22 23-06-2013
Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vadim100
 
Спасибо, конечно, за ссылку, но только вот оттуда все команды по регистрации и брал. То есть при получении ошибки 0x8002801c на этот майкрософтовский форум и наткнулся..
Забыл указать только, что и файл mswinsck.ocx тоже регистрировал.
Так что другие идеи нужны..
 
Хм.. Только вот файл mscomm32.ocx я как-то упустил из вида, домой приду - гляну..

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 05:45 24-06-2013 | Исправлено: Parazitif, 05:48 24-06-2013
vadim100

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Parazitif
 
при чем здесь команды регистрации, там же главная мысль , что на 64 битах
копировать сами файлы ocx и т.д. надо в каталог c:\windows\sysWOW64 , а не в c:\windows\system32

Всего записей: 90 | Зарегистр. 02-04-2003 | Отправлено: 17:47 24-06-2013
ysybarite

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vadim100
 
Вы не подскажете как именно изменить скрипт, где нужно присвоить "For Each objStatus In objPing".
Я в программировании ноль, только на чужих примерах.
Спасибо.

Всего записей: 61 | Зарегистр. 01-09-2009 | Отправлено: 21:52 26-06-2013
IGNAT48

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!Прошу помощи!
Начальство поставило задачу, автоматизировать процесс добавления новых пользователей на терминальные сервера. Их более 50 (серверов), нашел VBSскриптик который добавляет юзверя, проставляет галочки которые мне нужны (запрет смены пароля и срок действия пароля не ограничен) НО , у меня серверов ОООчень много, люди помогите написать скрипт для добавления пользователя на удаленные сервера... ну или намекните куда копать)
 
Добавлено:
Забыл добавить, AD нету и не планируется...к сожалению.

Всего записей: 2 | Зарегистр. 15-05-2011 | Отправлено: 23:56 26-06-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование "удобняшек" на VBScript (Часть 2)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru