Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически)
Текущее время: 23.11.2024 03:08

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
СообщениеДобавлено: 04.07.2011 14:25 
Не в сети

Зарегистрирован: 27.06.2011 19:05
Сообщения: 34
Всем привет

Будте добры подскажите пожалуйста, как с помощью VBS скрипт задать имя папки из поля таблицы БД ???


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 04.07.2011 15:17 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Добрый день.
Можно передать в файл-скрипт параметр - значение любого поля текущей записи (например, поля "ID" или поля "Полный путь к файл" или поля "Папка").
Откройте файл ScriptExample3.vbs в Блокноте и посмотрите конкретный пример.
Чтобы указать поле в качестве параметра, нужно написать его внутреннее имя в квадратных скобках в форме "Настройка панели инструментов" (где вы определяете пользовтельскую кнопку и связываете ее нажатие с запуском VBS-файла).

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23.08.2011 16:04 
Не в сети

Зарегистрирован: 23.08.2011 13:54
Сообщения: 7
Можну чуть поподробнее, не выходит, создается папка [ИмяПоля] не со значением а с внутренним названием поля и все, далее ошибка


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24.08.2011 08:33 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Смотрите на скрин, как надо передавать параметры в файл-скрипт.
В данном случае будет передаваться имя файла текущей БД и ID текущей записи.

Чтобы создать папку в файловой системе из кода на языке VBScript файла-скрипта, нужен примерно такой код:

Dim oFso 'объект FileSystemObject для файловых операций
Set oFso = CreateObject("Scripting.FileSystemObject") 'создание объекта FileSystemObject для файловых операций
oFso.CreateFolder("C:\123") 'создаем папку

Вам только нужно вместо "C:\123" подставить правильный путь, взять который можно из переданного параметра.


Вложения:
Pic1.gif
Pic1.gif [ 120.95 КБ | Просмотров: 49302 ]

_________________
2B OR NOT 2B = TRUE
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24.08.2011 13:10 
Не в сети

Зарегистрирован: 23.08.2011 13:54
Сообщения: 7
Не выходит создать папку с номером переменной
Поле [Nomer] создается автоматические (максимальное +1)
Прописываем в параметрах ScriptExample44.vbs / [Nomer]
Создается папка [Nomer], т.е. переменную передать не получается
Подскажите, пожалуйста, что делаю не так?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24.08.2011 13:14 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Приведите ваш код в файле-скрипте.
Вы переданный параметр в вашем коде читаете? Если нет, то смотрите в ScriptExample3.vbs, там пример, как это делать.
Перед созданием папки выведите MsgBox, показывающий, что за параметр у вас.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24.08.2011 13:37 
Не в сети

Зарегистрирован: 23.08.2011 13:54
Сообщения: 7
Код в файле-скрипте выглядит следующим образом:

Dim oFso 'объект FileSystemObject для файловых операций
Dim vStream 'объект "поток данных", содержащий все строки файла

MMsgBox "Всего параметров: " & Nomer.Count, "Сообщение" 'показываем собщение

For i = 0 To Nomer.Count - 1 'цикл по всем параметрам строки запуска
MsgBox "Параметр " & i + 1 & ": " & Nomer(i), "Сообщение" 'показываем собщение
Next
Set oFso = CreateObject("Scripting.FileSystemObject") 'создание объекта FileSystemObject для файловых операций
oFso.CreateFolder("C:\[Nomer]") 'создаем папку



В результате выходит ошибка
"Требуется объект Nomer"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24.08.2011 13:54 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Ну, конечно, нельзя же так нелепо...
Курсов по программированию мы здесь не даем. Правильный код:

Dim objArgs 'объект для чтения параметров строки запуска файла
Dim sParam 'строковая переменная, в которую запишем прочитанный параметр
Dim oFso 'объект FileSystemObject для файловых операций

Set objArgs = WScript.Arguments 'получение объекта для чтения параметров строки запуска файла
sParam = objArgs(0) 'читаем параметр и записываем его в переменную
'MsgBox sParam

Set oFso = CreateObject("Scripting.FileSystemObject") 'создание объекта FileSystemObject для файловых операций
oFso.CreateFolder("C:\" & sParam) 'создаем папку

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24.08.2011 14:31 
Не в сети

Зарегистрирован: 23.08.2011 13:54
Сообщения: 7
Отлично, огромное спасибо, все заработало.
Я просто не являюсь программистом а требуется настроить программу.
Если не сложено, подскажите еще решение (продолжение решения) все того же вопроса.
По кнопке на панели инструментов папка согласно номера заказа отлично создается
Создал в таблице заказы поле Ссылка (другая ссылка). Сделал ссылку все на тот же код, написанный вами.
В значение по умолчанию поставил поле [Nomer], все отлично работает.
Теперь сам вопрос. Возможно ли создать еще одну кнопку (либо дополнить код этой), создающая по шаблону документ и сохраняющий его в данной соданной папке.
Это достаточно удобно и, я думаю не является частным вопросом. Наверняка всем будет удобством в работе, когда под каждого клиента (партнера, покупателя и пр.) создается своя папка и все созданные документы будут не просто формироваться, а именно в папке с номером данного клиента. Я предлагаю добавить данный функционал в следующий дистрибутив программы.
Я думаю данное дополнение будет полезно многим, если это сделать в дальнейшем не в качесве скрипта а в качестве возможно уже созданной кнопки.
Если это решение требует оплаты, пожалуйста, сообщите, не проблема.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24.08.2011 16:18 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3690
Откуда: Санкт-Петербург
Различных задач, которые будут полезны многим, тысячи, а у нас Простой софт. Т.е. не перегруженный ни чем лишним.
Да, все эти вопросы относятся к автоматизации, т.е. это наши платные услуги. Обращайтесь к нам по емейл, скайп, телефон или через форму заявки на конфигурацию. Наш ИТ-специалист сделает вам все, что нужно "под ключ". Вы потом посмотрите, сами сможете что-то корректировать в дальнейшем.

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB