2015-07-17 5 views
0

Редактировать: так вот мой текущий код с помощью этой страницы - как его включить, чтобы я мог принести текстовый файл после его открытия с помощью файла функция диалога?Приглашаем открыть txt-файл с obj.FSO.OpenTextFile

Private Sub CommandButton1_Click() 

Dim lngCount As Long 

With Application.FileDialog(msoFileDialogOpen) 
    .Filters.Add "Documents", "*.txt", 1 
    .AllowMultiSelect = True 
    .Show 

End With 

Const ForReading = 1 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objTextFile = objFSO.OpenTextFile("C:\test\copy.txt", ForReading) 'this is now defunct?? 

For i = 1 To 5 
    objTextFile.ReadLine 
Next 

strLine = objTextFile.ReadLine 
Range("A1").Value = strLine 

objTextFile.Close 
End Sub 
+0

'objFSO.OpenTextFile' просто открывает текстовый файл и ничего больше. Вы имеете в виду показать пользователю открытый диалог? –

+0

да точно - мне нужно, чтобы пользователь мог выбрать любой текстовый файл, который им нужен, поскольку каждый текстовый файл будет иметь случайное имя, спасибо! – user2459764

ответ

0

Из следующей странице (вы почти правильно!) ... https://msdn.microsoft.com/en-us/library/office/ff836226.aspx

Вы можете использовать этот код, чтобы попросить пользователя открыть файл через OpenFileDialog ...

Sub UseFileDialogOpen() 

Dim lngCount As Long 

' Open the file dialog 
With Application.FileDialog(msoFileDialogOpen) 
    .AllowMultiSelect = True 
    .Show 

    ' Display paths of each file selected 
    For lngCount = 1 To .SelectedItems.Count 
     MsgBox .SelectedItems(lngCount) 
    Next lngCount 

End With 

End Sub 
+0

Добавьте фильтр, содержащий текстовые файлы и сделайте его первым в списке: '.Filters.Add" Documents "," * .txt ", 1' –

+0

^^, который работает, спасибо! – user2459764