Добрый день. Постараюсь написать понятней, чем описано в теме сообщения.
Есть файлы текстового формата (.txt, .edi), открывающиеся обычным текстовым редактором. В них данные записаны в одну строку. Очень много символов в одну строку. Это неудобно для анализа и трудночитаемо. Но присутствуют символы ('), после которых должен быть разделитель строки. Думаю, как можно создать универсальный файл для корректировки таких файлов.
Подскажите, можно ли создать файл MSExcel .xlsm внутрь вставить элемент формы "кнопка", например,назначить ей выполнение макроса: 1) Выбор файла и копирование его содержимого на новый лист (Лист2); 2) Добавление в содержимое Лист2 символов переноса строки после каждого указанного символа ('); 3) Сохранение в файл изменённого содержимого Лист2 в указанное место на диске с указанием имени "загруженного файла"+"копия" ("отредактирован" или что-то подобное к начальному имени файла). Формат файлов может быть как текстовый (.edi, .txt) так и табличный (.xls, .csv)
Может быть несколько "кнопок" с макросами, каждая отвечающая за определённый этап: загрузка файла, изменение содержимого, сохранение.
Помогите с созданием макросов.
Для более полного понимания, приложу файлы. В одном содержимое в одну строку, в другом с разделителями.
Заранее спасибо за помощь.
Добрый день. Постараюсь написать понятней, чем описано в теме сообщения.
Есть файлы текстового формата (.txt, .edi), открывающиеся обычным текстовым редактором. В них данные записаны в одну строку. Очень много символов в одну строку. Это неудобно для анализа и трудночитаемо. Но присутствуют символы ('), после которых должен быть разделитель строки. Думаю, как можно создать универсальный файл для корректировки таких файлов.
Подскажите, можно ли создать файл MSExcel .xlsm внутрь вставить элемент формы "кнопка", например,назначить ей выполнение макроса: 1) Выбор файла и копирование его содержимого на новый лист (Лист2); 2) Добавление в содержимое Лист2 символов переноса строки после каждого указанного символа ('); 3) Сохранение в файл изменённого содержимого Лист2 в указанное место на диске с указанием имени "загруженного файла"+"копия" ("отредактирован" или что-то подобное к начальному имени файла). Формат файлов может быть как текстовый (.edi, .txt) так и табличный (.xls, .csv)
Может быть несколько "кнопок" с макросами, каждая отвечающая за определённый этап: загрузка файла, изменение содержимого, сохранение.
Помогите с созданием макросов.
Для более полного понимания, приложу файлы. В одном содержимое в одну строку, в другом с разделителями.
KhilkovSergey, можно если мало и быстро - то в Notepad++
И аналогично можно делать макросом/скриптом вообще без листа Экселя - открыть файл, заменить, сохранить: [vba]
Код
Sub ChangeEDI() Dim strFileName As String Dim strFileContent As String
With CreateObject("Scripting.FileSystemObject") strFileName = ThisWorkbook.Path & "\PRELOAD PLAN SPIVA STAR 017ICOS_RUNVS EDI 22 .edi" ' Путь к вашему файлу strFileContent = .OpenTextFile(strFileName, 1).ReadAll strFileContent = Replace(strFileContent, "'", "'" & vbNewLine) .OpenTextFile(strFileName, 2).Write strFileContent End With
End Sub
[/vba]
KhilkovSergey, можно если мало и быстро - то в Notepad++
И аналогично можно делать макросом/скриптом вообще без листа Экселя - открыть файл, заменить, сохранить: [vba]
Код
Sub ChangeEDI() Dim strFileName As String Dim strFileContent As String
With CreateObject("Scripting.FileSystemObject") strFileName = ThisWorkbook.Path & "\PRELOAD PLAN SPIVA STAR 017ICOS_RUNVS EDI 22 .edi" ' Путь к вашему файлу strFileContent = .OpenTextFile(strFileName, 1).ReadAll strFileContent = Replace(strFileContent, "'", "'" & vbNewLine) .OpenTextFile(strFileName, 2).Write strFileContent End With