VBA - Створення користувацького інтерфейсу імпорту

Зміст

Ви б хотіли мати контроль над користувачами, які імпортують файли, замість того, щоб вони використовували для цього функції Excel? Вам потрібен більший контроль над вашим імпортом для перевірки чи зміни імпорту? Існує кілька способів зробити це і стільки ж варіацій вимог, але ось деякі з будівельних блоків для початку.

1. Вставте наступний код у модуль, а потім запустіть його

Відкритий суб CustomImport ()

'Визначте змінні
Затемнити ImportFile як рядок
Dim ImportTitle As String
Затемнити TabName As String
Dim ControlFile As String

'Відкрийте загальне діалогове вікно та отримайте ім'я файлу
ImportFile = Application.GetOpenFilename (_
"Файли Excel, *.xls, усі файли, *. *")
ImportTitle = _
Середній (ImportFile, InStrRev (ImportFile, "\") + 1)

'Скасування чека не натиснуто
Якщо ImportFile = "False" Тоді
Вийти з підп
Закінчити Якщо

'Імпортувати файл
TabName = "MyCustomImport"
ControlFile = ActiveWorkbook.Name
Робочі книги. Відкрийте Ім'я файлу: = Файл імпорту
ActiveSheet.Name = TabName
Аркуші (TabName). Копіювати _
Раніше: = Робочі книги (ControlFile). Аркуші (1)
Windows (ImportTitle) .Активуйте
ActiveWorkbook.Close SaveChanges: = False
Windows (ControlFile) .Активуйте

End Sub
Sidenote: Це добре працює для файлів *.xls, *.xlsx, *.xlsm, *.csv та *.txt. Ви можете додати або викликати код перед End Sub, щоб змінити імпортовані дані, перш ніж користувач зможе їх торкнутися.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave