Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2010, 09:45   #1
armagedon_atyrau
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 22
По умолчанию Работа с .txt

Здравствуйте всем!!!
Нужен помощь.

Function GetFolderPath(Optional ByVal Title As String = "Âûáåðèòå ôàéë", Optional ByVal InitialPath As String) As String
GetFolderPath = "": PS = Application.PathSeparator
With Application.FileDialog(msoFileDialo gOpen)
.ButtonName = "Выбрать": .Title = Title: .InitialFileName = InitialPath
.FilterIndex = 6
If .Show = -1 Then GetFolderPath = .SelectedItems(1):
If Not Right$(GetFolderPath, 1) = PS Then GetFolderPath = GetFolderPath
End With
End Function

Sub Load_TXT()
Dim i As Integer
Application.ScreenUpdating = False
Set oFSO = CreateObject("Scripting.FileSystemO bject")
Dim s, t, rez As String
On Error GoTo 6
Set txt = oFSO.OpenTextFile(GetFolderPath, 1, True)

Дальше хочу что бы с начала текста скопировал все пока не встретит три раза "&" символа

Заранее благодарен
armagedon_atyrau вне форума Ответить с цитированием
Старый 03.06.2010, 10:28   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Для чтения из файла можно использовать эту функцию: http://excelvba.ru/code/txt

Ваш код будет выглядеть так:
Код:
Function GetFileName(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal MyFilter As String = "Текстовые файлы (*.txt),") As String
    res = Application.GetOpenFilename(MyFilter, , Title, "Открыть")
    If VarType(res) = vbBoolean Then GetFileName = "" Else GetFileName = res
End Function

Function ReadTXTfile(ByVal filename As String) As String
    Set fso = CreateObject("scripting.filesystemobject")
    Set ts = fso.OpenTextFile(filename, 1, True): ReadTXTfile = ts.ReadAll: ts.Close
    Set ts = Nothing: Set fso = Nothing
End Function

Sub Main()
    ИмяФайла = GetFileName ' запрашиваем имя файла
    If ИмяФайла = "" Then Exit Sub ' выход, если пользователь отказался от выбора файла
    txt = ReadTXTfile(ИмяФайла)    ' считываем всё содержимое файла в переменную TXT
    pos = InStr(1, txt, "&&&")    ' ищем позицию подстроки  "&&&"
    If pos > 1 Then txt = Left(txt, pos - 1)    ' если нашли "&&&", то обрезаем строку
    MsgBox txt
End Sub

Последний раз редактировалось EducatedFool; 03.06.2010 в 10:31.
EducatedFool вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
импорт из txt, работа с массивом данных, экспорт в txt Danara Microsoft Office Excel 4 31.03.2010 00:26
работа с *.txt мимо Общие вопросы Delphi 39 18.06.2009 22:47
Работа С TXT ken8888 Помощь студентам 11 02.06.2009 10:04
работа с txt файлом ShenDy Общие вопросы C/C++ 1 08.04.2008 22:55
Работа с текстовыми TXT MAKEDON Общие вопросы Delphi 2 20.12.2007 04:30