удаление последнего vbcrlf
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



удаление последнего vbcrlf Expand / Collapse
Автор
Сообщение
08.06.2007 18:58
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
В файл дописывается строка:

Set emp1 = CreateObject("Scripting.FileSystemObject")
Set emp2 = emp1.GetFile("c:\hr\emp.csv")
Set emp = emp2.OpenAsTextStream(ForAppending, 0)
emp.writeline str
emp.Close


При использовании этого метода, каждый раз добавляется символ переноса строки vbcrlf. В последней строке этого не нужно, т.е. не нужна последняя пустая строка. Использование других методов, не подходит (долго объяснять почему).

С уважением,
Сообщ. #913945
08.06.2007 19:00
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
И метод Write вместо WriteLine нельзя использовать?
Сообщ. #913946
09.06.2007 10:22
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
to Bazile:
Использование других методов, не подходит (долго объяснять почему).

Причины политические.

С уважением,

Сообщ. #913952
09.06.2007 10:34
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Значит надо добавлять пост-обработку этого файла, которая удалит лишний перевод строки.
Сообщ. #913954
09.06.2007 12:05
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
Хорошо бы пример такой пост-обработки.

С уважением,
Сообщ. #913963
09.06.2007 12:35
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
Кстати write тоже добавляет перенос строки.

Write # inserts a newline character, that is, a carriage return–linefeed (Chr(13) + Chr(10)), after it has written the final character in outputlist to the file.


Надо пользоваться print'ом.

С уважением,
Сообщ. #913964
09.06.2007 13:34
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
babken76 (09.06.2007)
Кстати write тоже добавляет перенос строки.

Write # inserts a newline character, that is, a carriage return–linefeed (Chr(13) + Chr(10)), after it has written the final character in outputlist to the file.

Не знаю откуда ты это взял - в справке по VBScript такого нет. Кроме того я вроверил на тестовом файле - Write не добавляет переноса.

babken76 (09.06.2007)
Надо пользоваться print'ом.

Ты же говорил что нельзя пользоваться другими методами? :) И непонятно что это за метод Print. У TextStream нет такого метода.

Сообщ. #913965
09.06.2007 14:12
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 16.04.2008 11:44
Сообщ.: 366, Visits: 2 473
Не знаю откуда ты это взял - в справке по VBScript такого нет. Кроме того я вроверил на тестовом файле - Write не добавляет переноса.

Дорогой Bazile, это форум VBA а не VBScript. Все это я взял из стандартной справки Excel VBA. Про print я вспомнил просто потому, что это единственный метод в VBA не добавляющий crlf в строке. В сущности вопрос уже решен.

С уважением,
Сообщ. #913966
09.06.2007 14:45
Supreme Being

Supreme Being

модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240, Visits: 65 445
Я вижу что это форум по VBA, но объект Scripting.FileSystemObject имеет одинаковые свойства и методы не зависимо от среды использования. Поэтому я и удивляюсь.
Сообщ. #913967