|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.12.2009, 17:26 | #1 |
Форумчанин
Регистрация: 30.09.2008
Сообщений: 104
|
Сохранение файла в Dos кодировке
Есть макрос, который на основе данных в ескеле и в msaccess создает текстовый файл, но в кодировке win.
Как можно сохранить его в DOS кодировке? |
02.12.2009, 19:43 | #2 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте mistx.
С задачей конвертации поможет справиться функция: Код:
|
03.12.2009, 08:43 | #3 | |
Форумчанин
Регистрация: 30.09.2008
Сообщений: 104
|
Цитата:
Подскажите, пожалуйста, как мне применить данную функцию конкретно к моей задачи? После объявления функции, что я должен сделать? сначала у меня открывается текстовый файл, затем импортируются нужные данные из екселя, затем закрытие. Application.DisplayAlerts = False Dim s As TextStream, row As Range Set s = CreateObject("scripting.filesystemo bject").OpenTextFile(Filename, ForWriting, True) Application.ScreenUpdating = False Dim ra As Range: Set ra = ActiveSheet.UsedRange.EntireRow ra.Columns(2).TextToColumns _ ... ... s.Close |
|
03.12.2009, 09:10 | #4 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте mistx.
Применять функцию можно разместив её код в модуле проекта. и скорее всего в коде, там где "написаны" многоточия должна быть подобная конструкция: sTextFile = sText измените её так: sTextFile = toDOS(sText) и будет Вам счастье. Евгений. |
04.12.2009, 11:31 | #5 | |
Форумчанин
Регистрация: 30.09.2008
Сообщений: 104
|
Цитата:
поскольку код большой (внутри все что должно импортироваться и порядок импорта) привожу основную часть. похоже здесь только CreateObject("scripting.filesystemo bject").OpenTextFile(Filename, ForWriting, True) создает а ts.close закрывает. Sub prog() Application.DisplayAlerts = False Dim ts As TextStream, row As Range Filename = Replace(ThisWorkbook.FullName, ThisWorkbook.Name, "result.txt") Set ts =CreateObject("scripting.filesystem object").OpenTextFile(Filename, ForWriting, True) Application.ScreenUpdating = False Dim ra As Range: Set ra = ActiveSheet.UsedRange.EntireRow ra.Columns(2).TextToColumns _ ra.Columns(10).Resize(, 3), xlDelimited, , , , , , True For Each cell In ra.Columns(4).Cells: Debug.Print cell: ss = ss + Val(cell): Next сумма = Replace(FormatNumber(ss, 2), ",", ".") ra.Resize(, 12).EntireColumn.AutoFit Application.DisplayAlerts = True End Sub ts.close |
|
04.12.2009, 16:33 | #6 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
Здравствуйте mistx.
Подозреваю переменной ss заполняется тело файла, судить о способе решения с уверенностью можно только проанализировав всю конструкцию, а не её часть. Возможно приемлемой будет её конвертация после заполнения в цикле. Код:
P.S. по правилам форума и для удобочитаемости выкладываемый код заключайте в тэги [соde]...[/соde] |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открытие/сохранение файла | НеВа6464 | Microsoft Office Excel | 4 | 01.06.2009 14:06 |
Сохранение файла | KREGI | Помощь студентам | 4 | 30.03.2009 21:09 |
Сохранение файла | Македонский | Общие вопросы Delphi | 7 | 17.08.2007 08:35 |
Как сохранить текст в DOS кодировке? | oleg kutkov | Общие вопросы Delphi | 9 | 06.08.2007 09:32 |
СОХРАНЕНИЕ В 23 ФАЙЛА ПОДРЯД!!!! | _FL@ER_ | Помощь студентам | 6 | 26.06.2007 22:31 |