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


Private Sub cb_Update_Click()
'Searc_FileName = "46Эishf_0_ХХХХХ_012007" + ".xls"
'Searc_FileName = "*" + "_1_ХХХХХ_012007" + ".xls"
'MsgBox (Searc_FileName)
Set fs = Application.FileSearch
With fs
.LookIn = "G:\...\...\"
.NewSearch
.SearchSubFolders = True
.Filename = "*.xls"
If .Execute > 0 Then
For i = 1 To .FoundFiles.Count
Worksheets("лист1").Range("B5").Cells(i, 1) = .FoundFiles(i).Name
Next i
Else
MsgBox "There were no files found."
End If
End With
End Sub

Подскажите пожалуйста как правильно получить имена файлов , не могу понять как обратится к названию найденного файла/файлов. при переборе их в цикле ., Excel ругается Object required

Заранее спасибо.., прошу не пинать сильно.., за ламерские вопросы, я начинаю только
...
Рейтинг: 0 / 0
Заполнение ячеек найденными именами файлов
    #34577778
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Option Explicit

Private Sub cb_Update_Click()
'Searc_FileName = "46Эishf_0_ХХХХХ_012007" + ".xls"
'Searc_FileName = "*" + "_1_ХХХХХ_012007" + ".xls"
'MsgBox (Searc_FileName)
Dim i As Long
    With Application.FileSearch
        .NewSearch
        .LookIn = "G:\...\...\"
        .SearchSubFolders = True
        .Filename = "*.xls"
        If .Execute >  0  Then
            For i =  1  To .FoundFiles.Count
                Worksheets("лист1").Range("B5").Cells(i,  1 ) = .FoundFiles(i)
            Next i
        Else
            MsgBox "There were no files found."
        End If
    End With
End Sub
Замечания:
1 в чем смысл пути "G:\...\...\"?
2 NewSearch должен быть первым выполнен, т.к. все настройки отменяет
3 .FoundFiles(i) не имеет свойства Name
...
Рейтинг: 0 / 0
Заполнение ячеек найденными именами файлов
    #34577850
holymen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vbapro в чем смысл пути "G:\...\...\"?
да это я просто каталоги убрал.. ну чтоб не моячили ..,

По третьему
vbapro3 .FoundFiles(i) не имеет свойства Name
а как же тогда .., получить имена файлов.. мне видится один путь .., но я незнаю, за какое свойство объекта цепляться ...,
Что то типо , но по русски

Else .FileSearc=True Then
.FileSearc.Name
End If

и Есть ли вообще в результате выполнения этой функции имена файлов.., из helpа видно что она возвращает количество найденных файлов , удовлетворяющих условию


по Второму
vbapro2 NewSearch должен быть первым выполнен, т.к. все настройки отменяет
Непонятно..., какие настройки ., настройки поиска.
...
Рейтинг: 0 / 0
Заполнение ячеек найденными именами файлов
    #34577884
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vbapro вроде написал как имена получить

Код: plaintext
Worksheets("лист1").Range("B5").Cells(i,  1 ) = .FoundFiles(i)

Если тебе без путей нужно чисто имя

Код: plaintext
Worksheets("лист1").Range("B5").Cells(i,  1 ) = Split(.FoundFiles(i), "\")(UBound(Split(.FoundFiles(i), "\")))
...
Рейтинг: 0 / 0
Заполнение ячеек найденными именами файлов
    #34577900
holymen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Deggasad
ups, и точно написал .., сори за невнимательнось..., Спасибо..
...
Рейтинг: 0 / 0
Заполнение ячеек найденными именами файлов
    #34579855
holymen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private Sub UserForm_Activate()
For i = 1 To Worksheets("Структура").Range("Формы").Rows.Count
Load_Read_Form.ComboBox1.AddItem Range("Формы").Cells(i, 1)
Next
End Sub

Вот этот код заполняет комбобокс значениями из именованного даипазона.., "формы"
в Диапазоне 8 ячеек , взял с запасом.,, из них заполненно всего 2.., как зделать так чтобы пустые значениея из диапазона не поподали в ComboBox.
и после заполнения комбобокса, установить курсор на первое знаачени в списке ComboBox

Спасибо.., пишу в эту тему чтоб не засорять форум
...
Рейтинг: 0 / 0
Заполнение ячеек найденными именами файлов
    #34579885
holymen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private Sub UserForm_Activate()
For i = 1 To Worksheets("Структура").Range("Формы").Rows.Count
If Worksheets("Структура").Range("Формы").Cells(i) <> "" Then
Load_Read_Form.ComboBox1.AddItem Range("Формы").Cells(i)
End If
Next
End Sub
Вот так вот получается без пустых ячеек , остается вопрос как установить курсор ??? на первый в списке
...
Рейтинг: 0 / 0
Заполнение ячеек найденными именами файлов
    #34581339
holymen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще Вопрос. если не трудно:

ВОт так пробую не получается ::
Worksheets("Структура").Range("yugf").Select
For Each Load_Read_Form.Frame2.Controls(i).Name In Worksheets("Структура").Range("yugf")
Load_Read_Form.Frame2.Controls(i).Enabled = False
Next i

и вот так пробуу тоже не получается::


' For i = 0 To Load_Read_Form.Frame2.Controls.Count - 1
' For y = 1 To Worksheets("Структура").Range("yugf").Cells.Count
' If Worksheets("Структура").Range("yugf").Cells(y) = Right(Load_Read_Form.Frame2.Controls(i).Name, 5) Then
' Else
' Load_Read_Form.Frame2.Controls(i).Value = False
' End If
' Next
' Next



На Листе "структура" есть Структура, так же есть Пользовательская форма с чекбоксами .,
как отключить чекбокчы которых нет в структуре..
весь вопрос сводится к тому .., как провести поиск имен Контролов в диапазоне ячеек на странице Структура.. ,

Нужно ли переберать диапазон с первой ичейки до последней и паралельно перебирать имена Контролов. и сравнивать их..,

кому не сложно направьте на путь правельный., дальше разберусь.. Спасибо
...
Рейтинг: 0 / 0
Заполнение ячеек найденными именами файлов
    #34581458
holymen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот так немного корректней :-)

ВОт так пробую не получается ::
Код: plaintext
1.
2.
3.
For Each Load_Read_Form.Frame2.Controls(i).Name In Worksheets("Структура").Range("yugf")
Load_Read_Form.Frame2.Controls(i).Enabled = False
Next i

и вот так пробуу тоже не получается::

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
For i =  0  To Load_Read_Form.Frame2.Controls.Count -  1 
 For y =  1  To Worksheets("Структура").Range("yugf").Cells.Count
 If Worksheets("Структура").Range("yugf").Cells(y) = Right(Load_Read_Form.Frame2.Controls(i).Name,  5 ) Then
 Else
 Load_Read_Form.Frame2.Controls(i).Enabled = False
 End If
 Next
 Next
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Заполнение ячеек найденными именами файлов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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