Я назвал ячейку 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?