Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите со скриптом! / 10 сообщений из 10, страница 1 из 1
14.11.2013, 12:56
    #38464896
VVA
VVA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со скриптом!
Доброго всем времени суток!
Помогите плиз со скриптом справиться, на данный момент есть такой скрипт:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Dim FSO, file
Set FSO=CreateObject("Scripting.FileSystemObject")
Set file = FSO.OpenTextFile("c:\SCRIPTS\VBSLog.txt", 8, True)
file.WriteLine(Date & " " & Time & " Начало обработки.")
 Set objExcel = CreateObject("Excel.Application") 
 objExcel.Visible = True 
 objExcel.DisplayAlerts=0 
 Set objWorkbook = objExcel.Workbooks.Open _ 
 ("O:\00 СТАТИСТИКА\01 Продажи по контрагентам (неделя_все дни).xls") 
file.WriteLine(Date & " " & Time & " Открыли файл:" & "O:\00 СТАТИСТИКА\01 Продажи по контрагентам (неделя_все дни).xls")
 objWorkbook.Sheets("Продажи по контрагентам ($)").Select 
file.WriteLine(Date & " " & Time & " Активировали лист:" & "Продажи по контрагентам ($)")
 objWorkbook.ActiveSheet.PivotTables("СводнаяТаблица1").PivotCache.Refresh 
 objWorkbook.ActiveSheet.Cells(1,1).Value="Обновлено 14.11.13 00:14:16 01.01.11 - 13.11.13, Профиль: 01 Динамика текущ.продаж (по дням); Набор данных No:1" 
file.WriteLine(Date & " " & Time & " Обновили сводную таблицу:" & "Обновлено 14.11.13 00:14:16 01.01.11 - 13.11.13, Профиль: 01 Динамика текущ.продаж (по дням); Набор данных No:1")
 objExcel.Save 
 objExcel.DisplayAlerts=1 
 objExcel.Quit 
file.WriteLine(Date & " " & Time & " Сохранили и закрыли эксель.")
file.WriteBlankLines(1)
file.Close



Вбска запускается ночью и замечательно работает, но только в том случае если эксель файл ни кем не занят. А вот если ктонить из босов забыл вечером его закрыть то файл не сохраняется(

Все мои знания вбс собственно в этом файле( Я так предполагаю что можно какнить использовать "Try...Catch...Finally" только не понимаю как либо как то проверять доступен ли эсель файл для записи.
В обоих случаях мне нужно попытаться сохранить текущий файл и если не получается то сохранить его с другим именем.
Буду благодарен за любые варианты!
...
Рейтинг: 0 / 0
14.11.2013, 13:06
    #38464920
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со скриптом!
Ты должен записывать эксельный файл там, где ни босс, ни чёрт до него не доюерётся даже имя посмотреть. Ибо нефиг. Соответственно никакой проблемы не возникнет.
После того, как файл создан, просто копируй его в то место, где всякие боссы и прочая фигня его будут смотреть. И добавляй в имя файла дату. А перед этим пробуй удалить все имеющиеся .XLS - вчерашний, позавчерашний и пр., которые были раньше заблочены, а сейчас свободны, будут удалены.
...
Рейтинг: 0 / 0
14.11.2013, 13:10
    #38464930
VVA
VVA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со скриптом!
Akina, если файл занят то и удалить его не получится!
Я то же думал о том что бы сначала скопировать файл на сервак там с ним поработать а потом переместить обратно, но есть вероятность что они там копиться будут, а удалять там ниче нельзя, поэтому и сижу марочусь(((
...
Рейтинг: 0 / 0
14.11.2013, 13:43
    #38465003
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со скриптом!
VVAAkina, если файл занят то и удалить его не получится!Да и хрен с им, пусть лежит, завтра удалишь, когда босс соизволит закрыть ёксель.
VVAсначала скопировать файл на сервак там с ним поработать а потом переместить обратно
Повторяю - оригинал лежит у тебя, и никакие блин боссы даже знать не должны, где он лежит и вообще что он там где-то лежит, и доступа туда, где он лежит, у них нет. Обойдутся. Им ты выкладываешь копию обработанного файла - пусть играются. А ну как чё попортят? боссы - они такие...
...
Рейтинг: 0 / 0
14.11.2013, 16:30
    #38465311
VVA
VVA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со скриптом!
Теоретически вариант с копированием не плох.
Но не совсем подходит под мою конкретную задачу...

Появился такой вопрос, возможно ли при открытии файла эксель узнать открыт ли он кем нить еще?
т.е. в идиале мне нужно что бы скрипт в любом случае получал доступ на запись конкретного файла.
...
Рейтинг: 0 / 0
14.11.2013, 16:45
    #38465336
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со скриптом!
VVAвозможно ли при открытии файла эксель узнать открыт ли он кем нить еще?То, что сам Эксель это прекрасно определяет - для тебя недостаточно? возможно, возможно...
...
Рейтинг: 0 / 0
14.11.2013, 16:59
    #38465376
VVA
VVA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со скриптом!
AkinaТо, что сам Эксель это прекрасно определяет - для тебя недостаточно?

А как это узнать? и к чему относится Akinaвозможно, возможно... ?
...
Рейтинг: 0 / 0
14.11.2013, 18:32
    #38465528
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со скриптом!
VVAкак это узнать?А чё узнавать? али ни разу не видел месс типа "файл редактируется юзером XXX с рабстанции YYY"?

VVAи к чему относится Akinaвозможно, возможно... ?
К тому, что узнать - возможно. Ну или просто можно.
...
Рейтинг: 0 / 0
15.11.2013, 12:03
    #38466198
VVA
VVA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со скриптом!
Сообщение лично не видел, и уж точно не знаю как это отловить в коде скрипта! (в первом сообщении написал, что все мои знания ВБС в этом скрипте, я раньше ВБСом не пользовался, стаж ВБС два дня)
...
Рейтинг: 0 / 0
15.11.2013, 12:33
    #38466248
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со скриптом!
VVAвозможно ли при открытии файла эксель узнать открыт ли он кем нить еще?

как вариант, так можно
Код: vbnet
1.
2.
3.
4.
    Dim WB ' As Excel.Workbook
    
    Set WB = GetObject("путь и имя файла")
    MsgBox WB.Application.UserControl


вот если файл УЖЕ открыт пользователем, то UserControl выдаст True
иначе False

только, с такой "проверкой", прийдётся "переподымать" Excel.Application для каждого файла, что, конечно, конкретно замедлит процесс в целом ...
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите со скриптом! / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]