У меня есть кнопка activex, пытающаяся заставить ее проверить папку для определенного набора .txt файлов.Я хотел бы сравнить все имена файлов со списком имен файлов, чтобы увидеть, что не указано в папке.Также в этом модуле проверки файлов находится общедоступный переменный вызов для указания пути к папке (который пользователь выбрал с помощью folderpicker), но не заставил его работать.Эта же общедоступная переменная должна находиться в следующей строке в Msgbox, где указан путь к папке, который был выбран.Я могу разместить список файлов в любом месте рабочей книги.В настоящее время у меня работает модуль проверки файлов, который возвращает сообщение о том, существует файл или нет.
Я только что смог заставить свою публичную переменную работать.Это не то, чему я учусь, читая и учась задавать вопросы.Перемещая строки / слова вокруг, я смог заставить работать несколько вещей.Хотя я уверен, что это не самый эффективный способ.
'Working but only checks one file at a time. and hard coded
Sub CheckFolderForFiles()
'
' CheckFolderForFiles Macro
'
'Check if file exist
If Dir$("C:\txtdata\cf_preferences.txt") = "" Then
MsgBox "C:\txtdata\cf_preferences.txt - File not found"
Exit Sub
End If
____________________________________
' Not working - Just testing public variable call for Dir$ and figure out MsgBox areas.
Sub CheckFolderForFiles()
'
' CheckFolderForFiles Macro
'
'Проверьте, существует ли файл If Dir $ (Module33.fle + "\ alerts.txt") = "" Тогда MsgBox &fle & "alerts.txt - Файл не найден" Exit Sub End If '' End Sub __________________________________
'Folder Picker FileDialog user select folder.
'After some guidence by one our your users I was able to get this module work.
'Now have a public variable I wish to use throughtout the workbook to
'call the path.
Public fle As String
Sub FolderPicker()
Dim diaFolder As FileDialog
Set diaFolder = Application.FileDialog(msoFileDialogFolderPicker)
diaFolder.AllowMultiSelect = False
diaFolder.Show
fle = diaFolder.SelectedItems(1)
Range("M11") = fle
Set diaFolder = Nothing
End Sub
-------------------------------
Sub CheckFolderForFiles()
'
' CheckFolderForFiles Macro
'
'Check if file exist
'
'
If Dir$(Module33.fle + "\alerts.txt") = "" Then
MsgBox Module33.fle + "\alerts.txt - File not found"
End If
'
If Dir$(Module33.fle + "\cf_messages.txt") = "" Then
MsgBox Module33.fle + "\cf_messages.txt - File not found"
End If
End Sub
----------------------------
Я пытаюсь узнать это, чтобы помочь с рабочим проектом моей жены.поэтому, пожалуйста, будьте терпеливы с моими описаниями и отсутствием терминологии.Но если бы кто-то мог направить меня к сценарию, который сравнивает файлы в папке, пришедшей из общедоступной переменной, и сообщает мне все файлы, отсутствующие в списке.(Всего 15 файлов) это поможет куче.Кроме того, кто-нибудь знает, как или если вы можете очистить общедоступную переменную от его сохраненных данных?Поиск в Google говорит просто положить (End) в модуль.не работает.
Заранее спасибо.Я ценю руководство.