Найти файл в папке sepecifi c - PullRequest
0 голосов
/ 01 мая 2020

Я назвал ячейку TRACK на листе Excel. Эта ячейка заполнена номером (Track или Shipmentnumber). Например, 167620475180 В пути у меня есть папка (C: / ....) с большим количеством Файлы Эти файлы могут иметь следующие имена: /. Import_ABC_177540475180_MD.docx или Import_ABC_167620475180_01.docx или Import_ABC_167620475180_02.docx или Import_Jaran_1ZR2368W6758258170.docx или также импортированные из резервной копии в формате *. Трек) номер в теме. В чем моя проблема? Чего я хочу? Я ищу код VBA, который находит файл (Tracknumber) в папке и после обнаружения переместить его в уже открытую полученную почту как attmt. Лучше всего с MsgBox ("Файл (не) найден, Файл не найден, чем выход" Если найдено, что вы хотите сделать? Переместить (все найденные файлы 1; 2 ? Да / Нет)) Что я сделал? У меня есть код, который перечисляет все файлы папки на листе A1, но это не помогает, потому что я не могу найти номер трека Что я сделал для первого (как начинающий VBA) Код

Sub FileExists()  First tried
Dim FileName as String
Dim strEintrag as String
Dim Path as String

strEintrag = (TRACK)    ( = Brackets
myFolder = (TRACK).Value
FileName = VBA.FileSystem.Dir("C:.....")
If FileName = myFolder then 
MsgBox "File Found What do you want to do?
Else
MsgBox File not found
End Sub

или

Sub FilesFound()
Dim lngZeile as Long
Dim objFileSystem as Object
Dim objVerzeichnis as Object
Dim objDadteiliste as Object
Dim objDatei as Object
Dim FileName as String
Dim strEintrag as String
strEintrag = (TRACK)
MyFolder = (TRACK).Value
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objVerzeichnis = objFileSystem.GetFolder(("C:....")
Set objDateienliste = objVerzeichnis.Files

lngZeile = 1
For Each objDatei In objDateienliste
 If Not objDatei is Nothing th Then
  ActiveSheet.Cells(lngZeile,1) = objDatei.Name
   lngZeile = lngZeile +1
End If
Next objDatei
End Sub

Кто-нибудь, кто может дать мне подсказку или руку помощи? Спасибо всем Питу 2 мая ... Найден другой код, но все еще есть некоторые пробники Во-первых, это "сложно" запрограммировано с другой стороны ... Я могу найдите найденное число :-)

 Dim lstrDatName As String
    Dim AppWD As Object

 Set AppWD = CreateObject("Word.Application")
AppWD.Visible = True

    lstrDatName = Dir("B:\....\" & "\" & "*874725672090*.docx")

        If lstrDatName <> "" Then
                 AppWD.Documents.Open "B:\..." & "\" & lstrDatName
                 lstrDatName = ""
            Else
                 MsgBox "File not found"
                 Exit Sub
        End If
End Sub

Скорее всего, если у меня есть поисковый номер с 1 и более файлами с одинаковым номером (см. Import_ABC_167620475180_01.docx или Import_ABC_167620475180_02), этот код показывает только один документ. было бы хорошо, если бы Msgbox выдавал Found Number_1 и тот же Number_2 et c .. Вы хотите переместить их в уже открытую полученную почту как attmnt?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...