Ви б хотіли мати контроль над користувачами, які імпортують файли, замість того, щоб вони використовували для цього функції Excel? Вам потрібен більший контроль над вашим імпортом для перевірки чи зміни імпорту? Існує кілька способів зробити це і стільки ж варіацій вимог, але ось деякі з будівельних блоків для початку.
1. Вставте наступний код у модуль, а потім запустіть його
'Визначте змінні 'Відкрийте загальне діалогове вікно та отримайте ім'я файлу 'Скасування чека не натиснуто 'Імпортувати файл End SubВідкритий суб 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) .Активуйте
Sidenote: Це добре працює для файлів *.xls, *.xlsx, *.xlsm, *.csv та *.txt. Ви можете додати або викликати код перед End Sub, щоб змінити імпортовані дані, перш ніж користувач зможе їх торкнутися.