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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

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

Parazitif

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток, всем!
Признаюсь честно, не знаком с написанием скриптов и пока не времени разбираться, поэтому хотел бы попросить о помощи.  Есть скрипт, написан не мною, но задача полностью подходит под мою: позволяет задать определенное "Особое свойство" для группы файлов.  
 
Код:

Код:
 
'VBS
Set objShellApp = CreateObject("Shell.Application")        ' создаем объект оболочки
Set FSO = CreateObject("Scripting.FileSystemObject")    ' создаем объект файловой системы
FileChangedCount = 0                                                  ' Количество обработанных файлов
 
Main                                                                           ' Поиск файлов
 
Sub Main    '""""""""""""""""" Поиск файлов
On error Resume Next                                                                        ' Если файлы открыты приложением, будут пропущены
Set OpenDialog = CreateObject("MSComDlg.CommonDialog")               ' Microsoft Common Dialog Control
With OpenDialog
    .DialogTitle = "Откройте нужный Вам файл(ы)"
    .InitDir = "C:\"
    .Filter = "Модели Solidworks (*.sldprt,*.sldasm)|*.sldprt;*.sldasm"   ' Расширения файлов
    .FilterIndex = 1  
    .Flags = 2621952
    .MaxFileSize =32000
    .ShowOpen
    Filename = .Filename
End With
 
If (Len(OpenDialog.FileName)= 0) Then
    msgbox "Файлы не выбраны!"
    Exit Sub
End If
 
files = Split(OpenDialog.Filename, vbNullChar)
count_files = UBound(files)
If count_files > 0 Then
    path = files(0) + "\"                                                                                  ' в ХР работает этот вариант   path = files(0), в W7 почему то в окончании \ отсутствует
    For i = 1 To count_files
        PropertySearch path + files(i)                                                                ' Если выбрано несколько файлов
    Next
Else
    PropertySearch path + files(0)                                                                   ' Если выбран один файл
End If
Msgbox "Выполнено." &chr(13)& "Количество обработанных файлов: "& FileChangedCount, vbInformation
End Sub
 
Sub PropertySearch (FilePath)      '""""""""""""""""" поиск свойств файла
'msgbox "FilePath = " & FilePath
Set Cprop = CreateObject("DSOFile.OleDocumentProperties")                         ' создаем объект подключения к свойствам файла
Cprop.Open FilePath, false                                                                            ' Открываем текущий файл
IsHere = ""                                                                                                  ' Наличие свойства Раздел СП, если останется "" то нету
if Cprop.CustomProperties.count > 0 then                                                      ' Если у файла есть свойства
 for iprop=0 to Cprop.CustomProperties.count-1                                             ' цикл по свойствам
 if Cprop.CustomProperties.item(iprop).Name = "Раздел СП" then                   ' если Раздел СП есть
  IsHere = 1                                                                                                ' делаем отметку
  Exit For
 End if
 Next
End if
If IsHere = "" then                                                                                       ' если Раздела СП нету
 AddCustomProperty Cprop                                                                            ' назначение свойств для файла
else
 AddCustomPropertyEx Cprop, iprop                                                               ' если есть
End if
Cprop.close                                                                                                ' закрываем файл
End Sub
 
Sub AddCustomProperty(Cprop)      '""""""""""""""""" назначение свойств для файла
key = "Раздел СП"                                                                                     ' Имя свойства
valueForKey = "Прочие изделия"                                                                ' Значение свойства
Cprop.CustomProperties.Add key, valueForKey                                             ' Добавляем новое свойство с
Cprop.Save                                                                                               ' Сохранить изменения
FileChangedCount = FileChangedCount + 1                                                  ' Инкрементация счетчика обработанных
End Sub
 
Sub AddCustomPropertyEx(Cprop,iprop)      '""""""""""""""""" назначение свойств для файла
valueForKey = "Прочие изделия"                                                                ' Значение свойства
Cprop.CustomProperties.Item(iprop).value = valueForKey                             ' изменяем свойство
Cprop.Save                                                                                               ' Сохранить изменения
FileChangedCount = FileChangedCount + 1                                                  ' Инкрементация счетчика обработанных
End Sub
 
'""""""""""""""""" Освобождаем память
Set objShellApp = Nothing
Set FSO = Nothing
Set Cprop = Nothing
Set OpenDialog = Nothing
 

 
Скрипт взят отсюда http://forum.oszone.net/thread-233561.html
За него, конечно, премного благодарен человеку, написавшему и выложившему сей труд.
 
Моя же проблема состоит в том, что установив указанный Microsoft Developer Support OLE File Property Reader 2.1 Sample и создав файл скрипта, на Windows XP всё запускается и работает нормально. На Windows 7, на котором и требуется работать, выдаёт только окно "Файлы не выбраны". В чём проблема?

Всего записей: 19 | Зарегистр. 17-06-2013 | Отправлено: 16:32 17-06-2013 | Исправлено: Parazitif, 19:27 17-06-2013
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум 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