Вопрос № 95595: Уважаемые эксперты! Я работаю в гос. организацие и нашем в регионах много компьютеров. Но каждого из ных мы контролировать не умеем. Просто возможности нету. Мне нужна программный код который удаляет mp3,avi и mpg файлов. От этого нам нету ползы. Пот...Вопрос № 95656: Я из значений таблицы экселя формирую своим макросом текстовый файл (*.txt) причем если попадается дробное число он записывается в мой файл с разделительным
знаком - запятая. А мне очень важно чтобы разделительный знак была точка, что вы можете посов...
Вопрос № 95.595
Уважаемые эксперты! Я работаю в гос. организацие и нашем в регионах много компьютеров. Но каждого из ных мы контролировать не умеем. Просто возможности нету. Мне нужна программный код который удаляет mp3,avi и mpg файлов. От этого нам нету ползы. Потаму что много вирусов.
Как надо создать программу, который автоматический ищет mp3, avi и mpg файлы и удаляет его без разрешение?
Спасибо за ответ.
Отвечает: Nance
Здравствуйте, Muhammedov Abdurohman!
Clearer - Программа для автоматического удаления файлов по заданной маске. Есть возможность задать неограниченное количество папок и масок для удаления файлов в этих папках. Опционально: - запуск с системой - выход из программы по завершении очистки. скачать можно здесь http://itshareware.by.ru/utilities/disk_and_file_system/clearer.shtml. Абсолютно бесплатная!
(По данной ссылке можно перейти на страницу, где указан URL домашней страницы автора программы. Но при попытке зайти на страницу выдается 404 Not Found. Проверяйте ссылки на работоспособность.)[ Климова М. ]
Ответ отправила: Nance (статус: 3-ий класс)
Ответ отправлен: 18.07.2007, 20:42 Оценка за ответ: 4 Комментарий оценки: Спасибо, сам и так подумал. Но вот ссылка неработает
Отвечает: PsySex
Здравствуйте, Muhammedov Abdurohman!
Код для модуля в приложении, при создании проекта форму удалить. Скомпиленный файл в автозагрузку. Поиск идет по всем локальным жестким дискам.
Приложение:
--------- Bom Shankar!
Ответ отправил: PsySex (статус: Практикант)
Ответ отправлен: 18.07.2007, 23:02 Оценка за ответ: 5 Комментарий оценки: Спасибо. Сразу разобрался
Отвечает: Черников Игорь Владимирович
Здравствуйте, Muhammedov Abdurohman!
Этот код удаляет файлы *.MP3 с диска С: имейте в виду, что в папке Windiws находятся системные файлы *.avi и удалять естественно нельзя, будьте осторожны!
Private Sub Комманда1_Click()
Путь = "C:" ' Указывает путь.
Имя_папки = Dir(Путь, vbDirectory) ' Возвращает первый элемент.
Do While Имя_папки <> "" ' Начинает цикл. Игнорирует текущий каталог и каталог предыдущего уровня.
If Имя_папки <> "." And Имя_папки <> ".." Then ' Использует поразрядное сравнение для проверки того, является ли Имя_Папки каталогом.
If (GetAttr(Путь & Имя_папки) And vbDirectory) = vbDirectory Then
Колич_папок = Колич_папок + 1 ' Выводит элемент только в том случае, если это каталог.
Метка1.Caption = Колич_папок & " найдено"
Список_папок = Список_папок & Путь & Имя_папки & Chr(10)
End If
End If
Имя_папки = Dir ' Возвращает следующий элемент.
DoEvents
Loop
Do While i <> Len(Список_папок)
i = i + 1
ОдинСимвол = Mid(Список_папок, i, 1)
строка = строка + ОдинСимвол
If Asc(ОдинСимвол) = 10 Then
Путь = Mid(строка, 1, Len(строка) - 1) & ""
Имя_папки = Dir(Путь, vbDirectory)
Do While Имя_папки <> ""
If Имя_папки <> "." And Имя_папки <> ".." Then
If (GetAttr(Путь & Имя_папки) And vbDirectory) = vbDirectory Then
Колич_папок = Колич_папок + 1
Метка1.Caption = Колич_папок & " папок найдено"
Список_папок = Список_папок & Путь & Имя_папки & Chr(10)
End If
End If
Имя_папки = Dir ' Возвращает следующий элемент.
DoEvents
Loop
строка = ""
End If
Loop
i = 0
Колич_папок = 0
Do While i <> Len(Список_папок)
i = i + 1
ОдинСимвол = Mid(Список_папок, i, 1)
строка = строка + ОдинСимвол
If Asc(ОдинСимвол) = 10 Then
Путь = Mid(строка, 1, Len(строка) - 1) & ""
Имя_файла = Dir(Путь & "*.mp3")
Do While Имя_файла <> ""
Kill Путь & Имя_файла
Колич_папок = Колич_папок + 1
Метка2.Caption = Колич_папок & " файлов удалено"
Имя_файла = Dir
Loop
строка = ""
End If
DoEvents
Loop
End
End Sub
--------- От каждого по способностям, каждому по труду
Ответ отправил: Черников Игорь Владимирович (статус: 2-ой класс)
Ответ отправлен: 20.07.2007, 16:57 Оценка за ответ: 4 Комментарий оценки: Этот код удаляет файлы *.MP3 с диска С: Я бы хотел чтобы на винте все мп3 били удалены!
Вопрос № 95.656
Я из значений таблицы экселя формирую своим макросом текстовый файл (*.txt) причем если попадается дробное число он записывается в мой файл с разделительным знаком - запятая. А мне очень важно чтобы разделительный знак была точка, что вы можете посоветовать в такой ситуации?
Отправлен: 19.07.2007, 11:17
Вопрос задал: Mironicuss (статус: Посетитель)
Всего ответов: 7 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Over
Здравствуйте, Mironicuss!
В панели управления язык и региональные стандарты поставьте разделитель точка.
Или там же выберите языковой стандарт Английский(США).
Ответ отправил: Over (статус: 3-ий класс)
Ответ отправлен: 19.07.2007, 11:21 Оценка за ответ: 1 Комментарий оценки: Такой вариант неприемлем, до таких элементарных вещей я и сам додумался
Отвечает: din
Здравствуйте, Mironicuss!
Перед тем как начать экспорт данных указываем
Application.DecimalSeparator = "."
Application.UseSystemSeparators = False
И все.
Удачи!
--------- Есть только одно зло - невежество, и только одно благо - знания
Ответ отправил: din (статус: Практикант)
Ответ отправлен: 19.07.2007, 11:33
Отвечает: PsySex
Здравствуйте, Mironicuss!
При чтении из ячейки дробного значения, сделайте следующую операцию
vCellVal - значение ячейки
sNewVal = Replace(Str(vCellVal), ",", ".")
и затем используем sNewVal при печати в файл, функция ищет запятую и заменяет на точку.
Если разработка идет в Excell97, то там нет функции Replace, используем свою функцию ReplaceSymb, код в приложении, синтаксис такой же.
Приложение:
--------- Bom Shankar!
Ответ отправил: PsySex (статус: Практикант)
Ответ отправлен: 19.07.2007, 11:34 Оценка за ответ: 5 Комментарий оценки: Отлично! То что нужно большое спасибо
Отвечает: Nance
Здравствуйте, Mironicuss!
Я вам посоветую сделать ваш макросс следующим образом: Организуйте динамический массив, в который внесите все ваши данные, сначали тип массива задайте как числовой, после того как все данные будут внесены и дроби преобразуются в десятичные числа, измените тип всех элементов массива на текстовый, а затем используя процедуру поиска в цикле найдите все запятые и замените их на точки, а после этого сохраните ваш новый массив в текстовый файл. Код программы должен получиться короткий, к сожалению у меня в данный
момент нет возможности написать его и выслать вам, но я уже сталкивалась с подобной проблемой и вышла из ситуации именно так. Желаю удачи!
Ответ отправила: Nance (статус: 3-ий класс)
Ответ отправлен: 19.07.2007, 12:14
Отвечает: xackera
Здравствуйте, Mironicuss!
Едиснтвенно что мгу посоветовать это при записи данных в файл преобразовать данные полученные из значений таблиц Excel в тип строка и в полученной переменной произвести замену запятой на точку.
Для этого необходимо функция замены символов, которая приведена ниже.
в качестве входных параметром
Stroka - строка в которой необходимо заменит символ на другой (в данном случае запятую на точку)
SimvolIsh - символ, который необходимо заменит (в данном случае запятую)
SimvolNew - символ на который заменяется (в данном случае точка)
Private Function ZamenaSimvolov(ByVal Stroka As String, ByVal SimvolIsh As String, ByVal SimvolNew As String) As String
'Замена всех символов SimvolIsh другими в заданной строке
Dim cS As String, cS1 As String, cS2 As String
Dim i As Integer, iP As Long
cS = Stroka
'Если новые и старые символы совпадают
If SimvolIsh = SimvolNew Then
ZamenaSimvolov = cS
Exit Function
End If
i = Len(SimvolIsh)
iP = InStr(1, cS, SimvolIsh)
Do While iP > 0
cS1 = Left(cS, iP - 1)
cS2 = Right(cS, Len(cS) - iP - i + 1)
cS = cS1 & SimvolNew & cS2
iP = InStr(1, cS, SimvolIsh)
Loop
ZamenaSimvolov = cS
End Function
--------- Больше быть, чем казаться! Много делать, но мало выделяться
Ответ отправил: xackera (статус: 4-ый класс)
Ответ отправлен: 19.07.2007, 13:55 Оценка за ответ: 5
Отвечает: Черников Игорь Владимирович
Здравствуйте, Mironicuss!
Самый простой способ изменить национальные настройки в windows, и поставить вместо запятой точку (панель управления - язык и региональные стандарты), но это может повлиять на другие приложения.
Поменять запятую на точку можно и программно, вот код:
temp = Range("A1")
For i = 1 To Len(temp)
If Mid(temp, i, 1) = "," Then
Mid(temp, i, 1) = "."
Exit For
End If
Next i
Здесь из ячейки А1 (можно программно задать любую ячейку) берётся значение, загоняется в переменную temp, находится в ней запятая и заменяется на точку, затем значение этой переменной можно будет записать в твой файл, но не обратно в эксель. Если так необходимо записать её обратно в ячейку, то её нужно сделать сначала обязательно сделать текстовой:
Range("A1").Select
Selection.NumberFormat = "@"
--------- От каждого по способностям, каждому по труду
Ответ отправил: Черников Игорь Владимирович (статус: 2-ой класс)
Ответ отправлен: 20.07.2007, 17:25 Оценка за ответ: 5
Отвечает: Alec Perle
Здравствуйте, Mironicuss!
Можно воспользоваться функцией Str(). Она преобразует число в строку, где разделитель целой и дробной части всегда точка.
Приложение:
--------- Пессимист - это хорошо информированный оптимист (а оптимист - хорошо проинструктированный пессимист)
Ответ отправил: Alec Perle (статус: Студент)
Ответ отправлен: 21.07.2007, 21:58 Оценка за ответ: 5