Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Имена файлов записать в отдельный файл. Вопрос к знатокам! / 15 сообщений из 15, страница 1 из 1
16.08.2005, 13:49:29
    #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
16.08.2005, 15:17:03
    #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
16.08.2005, 16:09:55
    #33218501
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имена файлов записать в отдельный файл. Вопрос к знатокам!
Можно полюбопытствовать ? Куда такой код записывается? В модуль как макрос ?
...
Рейтинг: 0 / 0
16.08.2005, 16:11:55
    #33218515
Имена файлов записать в отдельный файл. Вопрос к знатокам!
Да, в стандартный модуль.
...
Рейтинг: 0 / 0
16.08.2005, 16:31:49
    #33218614
talgat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имена файлов записать в отдельный файл. Вопрос к знатокам!
Dim fs As New FileSystemObject
Dim fol As Folder
Dim fls As Files
Dim f As File
На эти вещи ругается ОШИБКА КОМПИЛЯЦИИ. Чего то не подключено?
...
Рейтинг: 0 / 0
16.08.2005, 16:35:51
    #33218634
Имена файлов записать в отдельный файл. Вопрос к знатокам!
Подключи библиотеку.

Tools --> References... --> Microsoft Scripting Runtime
...
Рейтинг: 0 / 0
16.08.2005, 17:24:22
    #33218867
vallot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имена файлов записать в отдельный файл. Вопрос к знатокам!
СПАСИБО БОЛЬШОЕ!!!
...
Рейтинг: 0 / 0
16.08.2005, 19:48:57
    #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
16.08.2005, 22:23:34
    #33219321
vallot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имена файлов записать в отдельный файл. Вопрос к знатокам!
Спасибо всем знатокам, я все испробую, в "хозяйстве " все сгодится!
...
Рейтинг: 0 / 0
17.08.2005, 08:25:09
    #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
17.08.2005, 10:18:20
    #33219716
vallot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Имена файлов записать в отдельный файл. Вопрос к знатокам!
Все работает отлично, но есть одна проблема!
Имя файла у меня такое:

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


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

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


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

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

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

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


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