Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/поиск документов в папках - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » поиск документов в папках (Макросы/Sub)
поиск документов в папках
Espada Дата: Пятница, 13.12.2019, 09:30 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 0 ±
Замечаний: 40% ±

Доброго времени суток. Может кто-нибудь сможет помочь с реализацией вопроса: генерирую название файлика. теперь нужно проверить две папки(допустим "c:\Baza\ *.prd" и "c:\FTP\ *.prd") на наличие ПДФ файла с таким названием. если такой файлик есть в двух папках, то никак отметок. а если отсутствует, то можно или ячейку другим цветом выделить, или просто в соседней ячейки поставить "-" например.

[vba]
Код

Sub Proverka()
Dim VidTary As String
Dim i As Double
Dim r As Double
Dim zhur As String

zhur = Workbooks("Журнал контроля техпроцесса(ОРГАНИКА).xlsm").Name
r = 1

For i = 6111 To 12944

pas = Workbooks(zhur).Sheets(1).Cells(i, 2).Value
par = Workbooks(zhur).Sheets(1).Cells(i, 3).Value
Imya = Workbooks(zhur).Sheets(1).Cells(i, 4).Value
Cvet = Workbooks(zhur).Sheets(1).Cells(i, 28).Value

VidTary = Imya + " " + Cvet + " " + pas + " " + par & ".pdf"
ActiveSheet.Cells(r, 2).Select
ActiveCell.Value = VidTary

r = r + 1

Next i

End Sub
[/vba]

это код формирования.
может есть похожие примеры, или какая-нибудь инфа, которая сможет помочь, буду очень благодарен.


Сообщение отредактировал Espada - Пятница, 13.12.2019, 09:31
 
Ответить
СообщениеДоброго времени суток. Может кто-нибудь сможет помочь с реализацией вопроса: генерирую название файлика. теперь нужно проверить две папки(допустим "c:\Baza\ *.prd" и "c:\FTP\ *.prd") на наличие ПДФ файла с таким названием. если такой файлик есть в двух папках, то никак отметок. а если отсутствует, то можно или ячейку другим цветом выделить, или просто в соседней ячейки поставить "-" например.

[vba]
Код

Sub Proverka()
Dim VidTary As String
Dim i As Double
Dim r As Double
Dim zhur As String

zhur = Workbooks("Журнал контроля техпроцесса(ОРГАНИКА).xlsm").Name
r = 1

For i = 6111 To 12944

pas = Workbooks(zhur).Sheets(1).Cells(i, 2).Value
par = Workbooks(zhur).Sheets(1).Cells(i, 3).Value
Imya = Workbooks(zhur).Sheets(1).Cells(i, 4).Value
Cvet = Workbooks(zhur).Sheets(1).Cells(i, 28).Value

VidTary = Imya + " " + Cvet + " " + pas + " " + par & ".pdf"
ActiveSheet.Cells(r, 2).Select
ActiveCell.Value = VidTary

r = r + 1

Next i

End Sub
[/vba]

это код формирования.
может есть похожие примеры, или какая-нибудь инфа, которая сможет помочь, буду очень благодарен.

Автор - Espada
Дата добавления - 13.12.2019 в 09:30
_Boroda_ Дата: Пятница, 13.12.2019, 09:37 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
If Dir("Путь1") <> "" and Dir("Путь2") <> ""  then Cells(r, 2).Interior.Color = 255
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
If Dir("Путь1") <> "" and Dir("Путь2") <> ""  then Cells(r, 2).Interior.Color = 255
[/vba]

Автор - _Boroda_
Дата добавления - 13.12.2019 в 09:37
Espada Дата: Пятница, 13.12.2019, 10:18 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 0 ±
Замечаний: 40% ±

Так нужно?

что-то не находит
[vba]
Код

Sub Proverka()
Dim VidTary As String
Dim i As Double
Dim r As Double
Dim zhur As String

zhur = Workbooks("Журнал контроля техпроцесса(ОРГАНИКА).xlsm").Name
r = 1

'For i = 6111 To 12944
For i = 12935 To 12944

pas = Workbooks(zhur).Sheets(1).Cells(i, 2).Value
par = Workbooks(zhur).Sheets(1).Cells(i, 3).Value
Imya = Workbooks(zhur).Sheets(1).Cells(i, 4).Value
Cvet = Workbooks(zhur).Sheets(1).Cells(i, 28).Value

VidTary = Imya + " " + Cvet + " " + pas + " " + par & ".pdf"
ActiveSheet.Cells(r, 2).Select
ActiveCell.Value = VidTary

If Dir("e:\BazaPDF\") <> "" And Dir("e:\FTP\") <> "" Then Cells(r, 2).Interior.Color = 255

r = r + 1

Next i

End Sub

[/vba]
проверил файлы, вроде есть, но всё равно красным подсвечиваются
К сообщению приложен файл: 5544674.png (36.6 Kb) · 6651070.png (99.6 Kb)
 
Ответить
Сообщение
Так нужно?

что-то не находит
[vba]
Код

Sub Proverka()
Dim VidTary As String
Dim i As Double
Dim r As Double
Dim zhur As String

zhur = Workbooks("Журнал контроля техпроцесса(ОРГАНИКА).xlsm").Name
r = 1

'For i = 6111 To 12944
For i = 12935 To 12944

pas = Workbooks(zhur).Sheets(1).Cells(i, 2).Value
par = Workbooks(zhur).Sheets(1).Cells(i, 3).Value
Imya = Workbooks(zhur).Sheets(1).Cells(i, 4).Value
Cvet = Workbooks(zhur).Sheets(1).Cells(i, 28).Value

VidTary = Imya + " " + Cvet + " " + pas + " " + par & ".pdf"
ActiveSheet.Cells(r, 2).Select
ActiveCell.Value = VidTary

If Dir("e:\BazaPDF\") <> "" And Dir("e:\FTP\") <> "" Then Cells(r, 2).Interior.Color = 255

r = r + 1

Next i

End Sub

[/vba]
проверил файлы, вроде есть, но всё равно красным подсвечиваются

Автор - Espada
Дата добавления - 13.12.2019 в 10:18
_Boroda_ Дата: Пятница, 13.12.2019, 10:25 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Тьфу, наоборот
[vba]
Код
If Dir("Путь1") = "" or Dir("Путь2") = ""  then Cells(r, 2).Interior.Color = 255
[/vba]
Да, и Путь - это вместе с названием файла и его расширением
Почитайте справку про Dir


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТьфу, наоборот
[vba]
Код
If Dir("Путь1") = "" or Dir("Путь2") = ""  then Cells(r, 2).Interior.Color = 255
[/vba]
Да, и Путь - это вместе с названием файла и его расширением
Почитайте справку про Dir

Автор - _Boroda_
Дата добавления - 13.12.2019 в 10:25
Espada Дата: Пятница, 13.12.2019, 10:28 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 0 ±
Замечаний: 40% ±

Тьфу, наоборот

а так, наоборот показывает, что все есть) хотя на самом деле есть только 3...
 
Ответить
Сообщение
Тьфу, наоборот

а так, наоборот показывает, что все есть) хотя на самом деле есть только 3...

Автор - Espada
Дата добавления - 13.12.2019 в 10:28
Espada Дата: Пятница, 13.12.2019, 10:37 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 0 ±
Замечаний: 40% ±

ааа, там же вместо кавычек нужно сравнивать с переменной именем,
 
Ответить
Сообщениеааа, там же вместо кавычек нужно сравнивать с переменной именем,

Автор - Espada
Дата добавления - 13.12.2019 в 10:37
Espada Дата: Пятница, 13.12.2019, 10:41 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 0 ±
Замечаний: 40% ±

Только ищет, почему-то,только по первому файлику в папке. а как задать цикл, что бы сверяло по всем файликам в папке?
 
Ответить
СообщениеТолько ищет, почему-то,только по первому файлику в папке. а как задать цикл, что бы сверяло по всем файликам в папке?

Автор - Espada
Дата добавления - 13.12.2019 в 10:41
_Boroda_ Дата: Пятница, 13.12.2019, 10:55 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
очему-то,только по первому файлику в папке

С чего Вы взяли?
Вот это дает для Х название файла, если он есть и пустую строку, если его нет
[vba]
Код
Sub tt()
    put_ = "g:\Моя\Стереть\example_1.xlsx"
    x_ = Dir(put_)
End Sub
[/vba]
Вы справку почитали?
https://docs.microsoft.com/ru-ru....%3Dtrue


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
очему-то,только по первому файлику в папке

С чего Вы взяли?
Вот это дает для Х название файла, если он есть и пустую строку, если его нет
[vba]
Код
Sub tt()
    put_ = "g:\Моя\Стереть\example_1.xlsx"
    x_ = Dir(put_)
End Sub
[/vba]
Вы справку почитали?
https://docs.microsoft.com/ru-ru....%3Dtrue

Автор - _Boroda_
Дата добавления - 13.12.2019 в 10:55
Espada Дата: Пятница, 13.12.2019, 11:09 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 0 ±
Замечаний: 40% ±

С чего Вы взяли?

ну я просто смотрю на примере( приложил скрин). если я переименовываю файлики в папках. то находит один следующий.

[img]http://radikal.ru]
 
Ответить
Сообщение
С чего Вы взяли?

ну я просто смотрю на примере( приложил скрин). если я переименовываю файлики в папках. то находит один следующий.

[img]http://radikal.ru]

Автор - Espada
Дата добавления - 13.12.2019 в 11:09
Espada Дата: Пятница, 13.12.2019, 12:04 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 121
Репутация: 0 ±
Замечаний: 40% ±

Решил проблему добавив название переменной:
[vba]
Код

If Dir("e:\FTP\" & VidTary & "") = VidTary And Dir("e:\BazaPDF\" & VidTary & "") = VidTary Then Cells(r, 2).Interior.Color = 255
[/vba]

Спасибо
 
Ответить
СообщениеРешил проблему добавив название переменной:
[vba]
Код

If Dir("e:\FTP\" & VidTary & "") = VidTary And Dir("e:\BazaPDF\" & VidTary & "") = VidTary Then Cells(r, 2).Interior.Color = 255
[/vba]

Спасибо

Автор - Espada
Дата добавления - 13.12.2019 в 12:04
_Boroda_ Дата: Пятница, 13.12.2019, 12:08 | Сообщение № 11
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ну конечно, а я Вам про что?
Путь - это вместе с названием файла и его расширением

А
[vba]
Код
& ""
[/vba]Не обязательно
Только Вы теперь краситев том случае, когда у Вас есть оба файла, а вроде хотели
если отсутствует, то можно или ячейку другим цветом выделить


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНу конечно, а я Вам про что?
Путь - это вместе с названием файла и его расширением

А
[vba]
Код
& ""
[/vba]Не обязательно
Только Вы теперь краситев том случае, когда у Вас есть оба файла, а вроде хотели
если отсутствует, то можно или ячейку другим цветом выделить

Автор - _Boroda_
Дата добавления - 13.12.2019 в 12:08
Мир MS Excel » Вопросы и решения » Вопросы по VBA » поиск документов в папках (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!