powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Имена файлов записать в отдельный файл. Вопрос к знатокам!
15 сообщений из 15, страница 1 из 1
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33217963
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется директория и в ней файлы
-----------------------------
директория

|

файлы:
Вася_2.dft
Коля_1.dft
Саша_5.dft
Маша_4.dft
-----------------------------
( Имена файлов не постояны, каждый раз создаются новые)

Требуется создать файл (Имя.ord), внутри которого будет
-
'------------------------------
@M=14(число-перем-1) @T=1.5000(число-перем-2)

- Вася_2.dft" 2
- Коля_1.dft" 1
- Саша_5.dft" 5
- Маша_4.dft" 4
'=====================================
'=====================================
'=====================================


Как закинуть в файл известное понятно, а как записать меняющиеся файлы, иногда их пять, иногда двадцать и имена разные.
Напротив файла стоит число, которое должно быть равно числу в имени файла!
Помогите, пожалуйста!!!!!!!!!!?




====================================
===================================
Dim msg As String
Dim sPath As String
Dim order As Integer
Dim число-перем-1 As Double
Dim число-перем-2 As Double

'----------------
Dim fs, a, f, v, r, fn

order = Sheet1.Cells(3, 12)
число-перем-1 = Sheet1.Cells(5, 2)
число-перем-1 = Sheet1.Cells(5, 3)
----------------------------------------
sPath = "C:\Metalix\P\Autonest\" & order & ".ord"
Set fn = CreateObject("Scripting.FileSystemObject")
If fn.FileExists(sPath) Then
Kill (sPath)
End If
'--------------------
msg = (Chr(34) & "@M=" & число-перем1 & Chr(34) & "@T=" & число-перем-2

?????????????????????????????????????
????????????????????????????????????
??????????????????????????????????????
??????????????????????????????????????
)




'------------------------------------------------
Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.FileExists(sPath) Then
fs.CreateTextFile sPath
DoEvents
End If
'----------------------------------------------------
Set f = fs.GetFile(sPath)
Set v = f.OpenAsTextStream(ForAppending)
If Not Sheet4.Cells(i, 8) = 25 Then
v.WriteLine msg
End If
v.Close
DoEvents
Set v = Nothing
Set f = Nothing
Set fs = Nothing
'--------------------
End If
'--------------------

End Sub
Код: plaintext
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33218276
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Sub CreateFileX()
    Dim fs As New FileSystemObject
    Dim fol As Folder
    Dim fls As Files
    Dim f As File
    Dim intPos As Integer
    Dim ts As TextStream
    
    ' Твой каталог с файлами.
    Set fol = fs.GetFolder("d:\1\")
    Set fls = fol.Files
    ' Создаем файл.
    Set ts = fs.CreateTextFile("d:\2\Names.ord", True)
    
    For Each f In fls
        intPos = InStrRev(f.Name, ".")
        ' Заполняем данными.
        ts.WriteLine (f.Name & "  " & Mid(f.Name, intPos -  1 ,  1 ))
    Next
    
    ts.Close
End Sub
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33218501
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно полюбопытствовать ? Куда такой код записывается? В модуль как макрос ?
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33218515
Да, в стандартный модуль.
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33218614
Фотография talgat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dim fs As New FileSystemObject
Dim fol As Folder
Dim fls As Files
Dim f As File
На эти вещи ругается ОШИБКА КОМПИЛЯЦИИ. Чего то не подключено?
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33218634
Подключи библиотеку.

Tools --> References... --> Microsoft Scripting Runtime
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33218867
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
СПАСИБО БОЛЬШОЕ!!!
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33219200
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то проще было бы так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub CreateFileX()
    Dim sFileName As String
    
    ' Твой каталог с файлами.
    sFileName = Dir("d:\1\*.dft")
    Open "d:\2\Names.ord" for Output as # 1 

    Do While sFileName <> ""
        Print # 1 , sFileName
        sFileName = Dir
    Loop

    Close # 1 
End Sub
И никаких дополнительных библиотек не нужно :)
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33219321
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем знатокам, я все испробую, в "хозяйстве " все сгодится!
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33219489
White OwlВообще-то проще было бы так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub CreateFileX()
    Dim sFileName As String
    
    ' Твой каталог с файлами.
    sFileName = Dir("d:\1\*.dft")
    Open "d:\2\Names.ord" for Output as # 1 

    Do While sFileName <> ""
        Print # 1 , sFileName
        sFileName = Dir
    Loop

    Close # 1 
End Sub
И никаких дополнительных библиотек не нужно :)
Я мог бы написать и так. Но подумал, что раз уж автор начал писать средствами объектной файловой системы, то надо этими же средствами продолжить.
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33219716
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все работает отлично, но есть одна проблема!
Имя файла у меня такое:

1_ Коля_8.дфт
1_Вася_23.дфт


Результат такой получается:

1_ Коля_8.дфт___8
1_Вася_23.дфт___3 (а надо 23)


Игрался с InStrRev, ничего не выходит,
может другое что есть, хотя бы ссылочку?!
Очень нужно это!
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33220584
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уже не надо, сам докопался, спасибо всем!
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33220635
Потому что формула

Код: plaintext
Mid(f.Name, intPos -  1 ,  1 ))

расчитана на одно число перед точкой.

Модифицируй ее, чтобы можно было работать с двумя числами.
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33220861
vallot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, я так и сделал!
...
Рейтинг: 0 / 0
Имена файлов записать в отдельный файл. Вопрос к знатокам!
    #33221728
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователь2Я мог бы написать и так. Но подумал, что раз уж автор начал писать средствами объектной файловой системы, то надо этими же средствами продолжить.
Ну вот еще. А если они начнут себе аппендикс через пятку вырезать, ты им скальпель поострее предложишь? :)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Имена файлов записать в отдельный файл. Вопрос к знатокам!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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