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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2010, 22:20   #1
Dasharnb777
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 44
Подмигивание Убрать запятые из файла.

Я создаю текстовый файл с помощью макроса. Теперь мне нужно заменить разделители (запятые и кавычки) на пробелы. Подскажите макрос.
Я знаю, что нужно его сначала ReadAll, потом Replace, сохранить, закрыть, но я новичек в VBA, поэтому затрудняюсь сама сделать. Все спасибо.
Dasharnb777 вне форума Ответить с цитированием
Старый 07.07.2010, 00:21   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Код:
Option Explicit

Sub ModifyTxt()

Dim objFSO As Object
Dim objFile As Object
Dim strText As String

Const ForReading = 1
Const ForWriting = 2

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile("c:\test.txt", ForReading)

strText = objFile.ReadAll
objFile.Close

strText = Replace(strText, ",", " ")
strText = Replace(strText, """", " ")

Set objFile = objFSO.OpenTextFile("c:\test.txt", ForWriting)
objFile.Write strText
objFile.Close
Set objFile = Nothing
Set objFSO = Nothing
End Sub
Но может быть можно сразу в первом макросе формировать нужный текст?
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 07.07.2010, 02:21   #3
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

а как пишешь в файл?
Write? попробуй Print
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 07.07.2010, 21:05   #4
Dasharnb777
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 44
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение

Но может быть можно сразу в первом макросе формировать нужный текст?
Подскажите, как.
А в файл я записываю просто переменные.
Dasharnb777 вне форума Ответить с цитированием
Старый 07.07.2010, 23:42   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Хм, вроде полчаса назад написал ответ - не дошло...
Заменяйте сразу в своих переменных, точно так же
переменная= Replace(переменная, ",", " ")
переменная= Replace(переменная, """", " ")
Или у Вас переменные не строковые (или без лишних символов), а запятые и кавычки добавляет код? Покажите тогда код.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 08.07.2010, 08:31   #6
Dasharnb777
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 44
По умолчанию

Спасибо.
Да, запятые и кавычки добавляет код. Поэтому я хотела сначала в файл записать, а потом изменить
Dasharnb777 вне форума Ответить с цитированием
Старый 08.07.2010, 21:23   #7
Dasharnb777
Пользователь
 
Регистрация: 15.09.2009
Сообщений: 44
По умолчанию

Всем спасибо. Проблема решена, надо было просто с помощью Print писать, а не Write
Dasharnb777 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить описание ЕХЕ-файла и убрать дельфийскую иконку. TwiX Общие вопросы Delphi 7 03.03.2010 14:36
Как убрать у EXE-файла иконку, которую дорисовывыает делфи? TwiX Общие вопросы Delphi 4 02.03.2010 02:29
составить прогу, заменить все пробелы на запятые tim777777 Помощь студентам 7 02.03.2009 05:52
Убрать запятые и точки 3акup Microsoft Office Excel 7 18.02.2009 18:47