можно ли при наличии файла в папке перекрасить текст?
И такой подвопрос. Из-за того что мышиными событиями могут быть только правый клик и двойной клик (у меня им присвоены действия "открыть для правки" и "копировать в сетевую папку"), т.е. все событийные нажатия исчерпаны, а запускать док в работу хотелось бы тоже с этого же листа Екселя. Поэтому придется рисовать кнопку напротив каждого дока и по ней запускать этот док в первичную обработку. И вот какой вопрос. Кнопок будет 30-35 (по числу доков), но могу ли я каждой кнопке присвоить одну и ту же процедуру (а в ней уже по тексту в соответствующей ячейке будет определяться название дока) и запускаться соответсв. макрос на обработку. Т.е. можно ли будет избежать 30-кратного появления:
'открываем 1-й док и его обрабатываем
End Sub
...
...
...
Public Sub CommandButton30_Click()
'открываем 30-й док и его обрабатываем
...
End Sub
Короче, можно ли разными командными кнопками всегда вызывать одну и туже процедуру?Или как минимум конструкции CommandButton30_Click не избежать?
(скорее всего эту часть вопроса надо было бы вынести в отдельное сообщение, но боюсь, что без связи с первой частью будет непонятно, что "чудак" :eek: хочет от компа).
на твоём месте я бы сделал массив кнопок, то есть всем тридцати присвоил одинаковое имя, но разные индексы (свойство Index).
Select Case Index
Case 1:
Case 2:
........
Case 30:
End Select
End Sub
А может быть даже и ещё проще (без оператора Select Case), если действие над всеми документами одинаково, то эта процедура вообще будет в 3-4 строки! :)
на твоём месте я бы сделал массив кнопок, то есть всем тридцати присвоил одинаковое имя, но разные индексы (свойство Index).
SPB-667, в VBA отсутствует возможность организовать массив элементов управления. Его (при определённых условиях) можно лишь имитировать.
[QUOTE=Dmitry2064]... можно ли разными командными кнопками всегда вызывать одну и туже процедуру?..[/QUOTE]
Dmitry2064, в Вашем случае можно поступать так: активировать ячейку, содержащую имя нужного документа, а затем вызывать макрос обработки. Пусть этот макрос перед началом обработки документа читает значение активной ячейки. Будет вполне достаточно одной процедуры на все документы.
[QUOTE=Dmitry2064]... Хочется, чтобы не поле со списком висело дополнительно к клеточкам моей таблицы учета документа, а шрифт названий этих документов перекрашивался из серого в черный. Т.е. пока документ "там" (в сетевой папке) не появился, он как бы затемнен (серым шрифтом отображается), а как его в сеть выложили, так стал "радикально" черным. И сразу видно, что его можно брать в работу...[/QUOTE]
Реализовать можно, организовав периодическую проверку содержимого сетевого каталога.
Dmitry2064, в Вашем случае можно поступать так: активировать ячейку, содержащую имя нужного документа, а затем вызывать макрос обработки. Пусть этот макрос перед началом обработки документа читает значение активной ячейки. Будет вполне достаточно одной процедуры на все документы.
Да, действительно. Сам не сообразил почему-то. Просто вроде хотел все кнопками запускать или кликами. Но можно на этот макрос "навесить" горячую клавишу. Так даже быстрее получится запускать процедуру. Спасибо.
А проверку каталога попробую сделать.