Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Создание файла txt в указанной папке, его автоматическое редактирование
 
Необходима именно функция, которая бы создавала файл в папке, адрес  которой указан в ячейке, а не на диске С. Скорректируйте пожалуйста, не смог сам склеить два алгоритма.

1. Создать в папке файл temp.txt  
1а. Если в папке уже есть файл temp.txt, то начать с пункта 2.  
2. В этом файле ввести какой-либо текст и тут же удалить его (только чтобы подтвердить факт редактирования файла)  
3. Сохранить изменения.
Код
Function ChkPATH(sPath$) As Boolean
On Error Resume Next
GetAttr (sPath)
If Err Then Exit Function
Dim DirName$ 'начиная отсюда создается папка с рандомным именем, а нужен конкретно файл temp.txt, при чем с предварительной проверкой о его наличии.
Do
Do While Len(DirName) < 10
DirName = DirName & Chr(Asc("abc" + Int(26 * Rnd))
Loop
Loop While Dir(sPath & DirName) <> ""
MkDir sPath & DirName : RmDir sPath & DirName
If Err = 0 Then ChkPATH = True
Err.Clear
End Function
Создание файла txt в указанной папке, его автоматическое редактирование
 
Не помогло. Файл создается на диске С а не в указанной папке.
Изменено: cstrizh - 05.07.2016 11:54:28
Создание файла txt в указанной папке, его автоматическое редактирование
 
Пробовал такой вариант, не работает.
Код
Function IsFolderRO(fPath As String) As String
Dim FSO As Object
 
Set FSO = CreateObject("Scripting.FileSystemObject")
On Error Resume Next
IsFolderRO = IIf(FSO.GetFolder(fPath).Attributes And 1, "Read Only", "Read/Write")
If Err <> 0 Then IsFolderRO = "Путь неверный"
On Error GoTo 0
End Function
Создание файла txt в указанной папке, его автоматическое редактирование
 
Здравствуйте!
По работе мне довольно часто приходится выкладывать файлы в общие  папки, к которым администратор индивидуально открывает доступ на чтение и  запись (но без права удаления файлов) по запросу. Т.к. папок около 1000  штук, приходится проверять их на факт доступа вручную, это очень долго.  Я составил автоматически формирующийся список папок, теперь хочу  сделать столбец, где бы можно было проверить статус доступа с помощью  функции. Для этого придумал следующий алгоритм:
в указанной папке
1. Создать в папке файл temp.txt
1а. Если в папке уже есть файл temp.txt, то начать с пункта 2.
2. В этом файле ввести какой-либо текст и тут же удалить его (только чтобы подтвердить факт редактирования файла)
3. Сохранить изменения.

Нашел готовое решение, однако там алгоритм устроен таким образом,  что создается временная папка с произвольным именем, затем папка  удаляется. Этот метод мне не подходит, т.к. я не имею прав на удаление  файлов. В итоге папки захламляются кучей временных папок.
Помогите пожалуйста с корректировкой кода, заменив создание папок на создание файла temp.txt:
Код
Function ChkPATH(sPath$) As Boolean
On Error Resume Next
GetAttr (sPath)
If Err Then Exit Function
Dim DirName$
Do
Do While Len(DirName) < 10
DirName = DirName & Chr(Asc("abc" + Int(26 * Rnd))
Loop
Loop While Dir(sPath & DirName) <> ""
MkDir sPath & DirName : RmDir sPath & DirName
If Err = 0 Then ChkPATH = True
Err.Clear
End Function
Функция проверка доступа к папке
 
Нашел такое решение, но оно не совсем мне подходит, т.к. мне предоставлен доступ на чтение и запись, но не на удаление файлов.  Таким способом хочу проверять наличие доступа для большого списка папок:
Код
Function ChkPATH(sPath$) As Boolean
On Error Resume Next
GetAttr (sPath)
If Err Then Exit Function
Dim DirName$
Do
Do While Len(DirName) < 10
DirName = DirName & Chr(Asc("abc") + Int(26 * Rnd))
Loop
Loop While Dir(sPath & DirName) <> ""
MkDir sPath & DirName : RmDir sPath & DirName
If Err = 0 Then ChkPATH = True
Err.Clear
End Function
Скорректируйте пожалуйста алгоритм, чтобы создавалась не рандомная папка, а конкретно файл temp.txt:

1. Создать в папке файл temp.txt
1а. Если в папке уже есть файл temp.txt, то начать с пункта 2.
2. В этом файле ввести какой-либо текст и тут же удалить его (только чтобы подтвердить факт редактирования файла)
3. Сохранить изменения.
Изменено: cstrizh - 01.07.2016 11:18:15
Функция проверка доступа к папке
 
Да, не получается проверить доступ. Везде одинаковые значения выдает.
Функция проверка доступа к папке
 
Атрибуты нашел, а как это увязать в функцию, не знаю, чайник.
Функция проверка доступа к папке
 
Коллеги, помогите написать функцию, которая бы проверяла доступ к папке с правом "запись файлов" по ссылке, указанной в ячейке.
В одном столбце есть список ссылок на папки в локальной сети (в одной ячейке одна ссылка), во втором столбце нужна функция проверки доступа к папке на "запись" (единственный аргумент функции - ссылка на ячейку с адресом).
Собрать данные в один файл
 
Спасибо огромное) то, что нужно!
Собрать данные в один файл
 
Помогите немного скорректировать макрос. Существует файл, в который собирается информация из файлов в этой же папке. Хочу, чтобы файл собирал данные из папки "Исходные" (к ней будет ограничен доступ других лиц). Папка "Исходные" лежит в этой же папке. Общий файл смогут смотреть и редактировать все, а файлы, из которых собирается общий, их смогут редактировать лишь сами менеджеры. Осталось прописать путь к этой папке.
Автоматическая нумерация строк с исключением скрытых строк
 
Извините, что поздно) На тот момент, когда вы ответили, меня уже не было на работе. Ответ прочел лишь сегодня утром.

Спасибо, решение действительно помогло.
Автоматическая нумерация строк с исключением скрытых строк
 
Не надо бан) я файл изменил в течение нескольких секунд после публикации первого сообщения. Их было два, в первом случае не тот выслал, но сразу заметил.
Автоматическая нумерация строк с исключением скрытых строк
 
Помогите с решением проблемы. Написан макрос, который автоматически скрывает строки по условию. НО! Скрытые строчки содержат нумерацию. Необходимо после того, как ненужные строки скрылись, пронумеровать полученную таблицу заново, но лишь видимые строки. (файл в приложении).
Изменено: cstrizh - 26.09.2013 17:59:41
Автоматическое выполнение макроса на листе2 при изменении данных на листе1
 
Да, в примере ошибку допустил. В основном файле всё работает как часы.

Это то, что нужно!) спасибо!
Изменено: cstrizh - 26.09.2013 15:27:30
Автоматическое выполнение макроса на листе2 при изменении данных на листе1
 
Спасибо, перепишу сам макрос с явным листом.
Автоматическое выполнение макроса на листе2 при изменении данных на листе1
 
В этом случае действия выполняются на том же листе. Необходимо в макросе прописать лист, на котором будет происходить действие? Например в моем случае при изменении данных на 1 листе автоматически должны скрываться строки на втором листе. Если я прописываю исходный текст на в 1 листе, то и строки скрываются в 1 листе.
Изменено: cstrizh - 26.09.2013 15:11:37
Автоматическое выполнение макроса на листе2 при изменении данных на листе1
 
Подскажите пожалуйста, как автоматизировать запуск макроса на одном листе при изменении значения на другом? Пытался сделать сам, вручную макрос работает, а автоматически нет.
Скрытие-отображение строк по условию
 
Строка
"Dim i&
If Intersect(Range("A1" ;) , Target) Is Nothing Then Exit Sub"
почему то выдавала ошибку, переписал на "ActiveSheet.[50:200].Rows.EntireRow.Hidden = False" и всё заработало.
Спасибо! Навели на мысль, я пока зеленый в этом)
Изменено: cstrizh - 17.09.2013 12:26:49
Скрытие-отображение строк по условию
 
Помогите написать простейший (но не для меня) макрос
Если значение в ячейке А1=0, то скрыть строки с 50 по 200; если А1=1, то скрыть строки с 100 по 200 и отобразить с 50 по 99; если А1=2, то скрыть с 199 по 200 и отобразить с 50 по 198.

Заранее спасибо!
Заполнение данных одного диапазона данными из других диапазонов при соблюдении условия
 
Огромное спасибо! Очень выручили!
Заполнение данных одного диапазона данными из других диапазонов при соблюдении условия
 
Там анкета на 4 вопроса, после изменения любого из этих четырех значений. Возможно?
Заполнение данных одного диапазона данными из других диапазонов при соблюдении условия
 
Огромное спасибо! да, конечно заполню. А есть способ автоматизировать этот макрос без кнопки?
Заполнение данных одного диапазона данными из других диапазонов при соблюдении условия
 
Помогите разобраться, как заполнять данные в одном диапазоне данными из других диапазонов. Если быть точным, то если значение в ячейке B7=ССА10 ("ССА10" это просто текст), то значения в диапазоне с именем "МЕТОД" будут равняться значениям диапазона с именем "ССА10"; если значение в ячейке B7=СГА10 ("СГА10" просто текст), то значения в диапазоне "МЕТОД" будут равняться значениям диапазона "СГА10". Диапазоны имеют одинаковый размер, файл в приложении! Заранее, СПАСИБО!!
Страницы: 1
Наверх