Бихте ли предпочели да имате контрол върху потребителите, които импортират файлове, вместо да ги накарате да използват функциите на Excel, за да го направят? Имате ли нужда от по -голям контрол върху вашия внос за валидиране или промяна при внос? Има много начини да направите това и също толкова много вариации на изискванията, но ето някои от градивните елементи, от които да започнете.
1. Поставете следния код в модул и го стартирайте
„Определете променливи „Отворете общ диалог и вземете име на файл „Не е щракнато върху отмената на чека „Импортиране на файл End SubPublic Sub CustomImport ()
Dim ImportFile As String
Dim ImportTitle As String
Dim TabName As String
Dim ControlFile As String
ImportFile = Application.GetOpenFilename (_
„Файлове на Excel, *.xls, Всички файлове, *. *“)
ImportTitle = _
Средна (ImportFile, InStrRev (ImportFile, "\") + 1)
Ако ImportFile = "False" Тогава
Изход от Sub
Край Ако
TabName = "MyCustomImport"
ControlFile = ActiveWorkbook.Name
Работни книги. Отворете Име на файл: = ImportFile
ActiveSheet.Name = TabName
Листове (TabName). Копиране _
Преди: = Работни книги (ControlFile). Листове (1)
Windows (ImportTitle). Активирайте
ActiveWorkbook.Close SaveChanges: = False
Windows (ControlFile) .Активирайте
Sidenote: Това работи добре за *.xls, *.xlsx, *.xlsm, *.csv и *.txt. Можете да добавите или извикате код преди End Sub, за да промените импортираните данни, преди потребителят да може да ги докосне.