Добрый день. Подскажите пожалуйста, можно ли посредством VBA редактировать ТХТ файлы?
или же их в любом случае нужно экспортировать в эксель, редактировать и сохранять как ТХТ?
в общем ситуация такая, нужно обрабатывать файлы ТХТ оборотной ведомости предприятия для спец программки. для этого берется файл, загоняется в эксель удаляются ненужные строки, меняется первая строчка на название специальное и потом сохраняется, и кидается куда нужно. следовательно вопрос ка кэто автоматизировать?
запись макроса редактирования выдает примерно следующее,
Sub ИмпортТекста()
'записан как импорт баланса для показателей
ChDir "C:\Documents and Settings\Y\Рабочий стол"
'
Workbooks.OpenText Filename:= _
"C:\Documents and Settings\Y\Рабочий стол\******.TXT", Origin:= _
xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array _
(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array( _
10, 1), Array(11, 1), Array(12, 1)), TrailingMinusNumbers:=True
End Sub
и потом сохраняем.
собственно вопрос
1) как можно сделать так, что бы выбирать какие файлы редактировать через диалоговое окно?
нашел такой код
Sub Macro2()
Dim strPath As String
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = True
.Filters.Clear
.Filters.Add "Âàøè ôàéëû", "*.CSV"
.Filters.Add "All Files", "*.*"
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
strPath = vrtSelectedItem
Next vrtSelectedItem
End If
End With
Set fd = Nothing
но как его вставить например в предыдущем записанном макросе что бы он был частью единого программного кода?
2) в файле есть строка "оборотная ведомость бла бла бла..." ниже идет строка
"с 01/09/2011 по 30/09/2011" как можно использовать вот эти даты в таком ключе;
раз в примере например по 30/09/2011 мы сохраняем файл с именем 011011
а в начале файла вставляем строку "оборотная ведомость на 1 октября 2011г.(ну или на 01.10.2011)"
приветсвуются любые советы, решения, любые подсказки и ссылки на любые ресурсы где обсуждалось, или приводились примеры подобных ситуаци и редактировение ТХТ вообще.
Спасибо за уделенное внимание!
или же их в любом случае нужно экспортировать в эксель, редактировать и сохранять как ТХТ?
в общем ситуация такая, нужно обрабатывать файлы ТХТ оборотной ведомости предприятия для спец программки. для этого берется файл, загоняется в эксель удаляются ненужные строки, меняется первая строчка на название специальное и потом сохраняется, и кидается куда нужно. следовательно вопрос ка кэто автоматизировать?
запись макроса редактирования выдает примерно следующее,
Sub ИмпортТекста()
'записан как импорт баланса для показателей
ChDir "C:\Documents and Settings\Y\Рабочий стол"
'
Workbooks.OpenText Filename:= _
"C:\Documents and Settings\Y\Рабочий стол\******.TXT", Origin:= _
xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote _
, ConsecutiveDelimiter:=True, Tab:=True, Semicolon:=False, Comma:=False _
, Space:=True, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array _
(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array( _
10, 1), Array(11, 1), Array(12, 1)), TrailingMinusNumbers:=True
End Sub
и потом сохраняем.
собственно вопрос
1) как можно сделать так, что бы выбирать какие файлы редактировать через диалоговое окно?
нашел такой код
Sub Macro2()
Dim strPath As String
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
Set fd = Application.FileDialog(msoFileDialogFilePicker)
With fd
.AllowMultiSelect = True
.Filters.Clear
.Filters.Add "Âàøè ôàéëû", "*.CSV"
.Filters.Add "All Files", "*.*"
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
strPath = vrtSelectedItem
Next vrtSelectedItem
End If
End With
Set fd = Nothing
но как его вставить например в предыдущем записанном макросе что бы он был частью единого программного кода?
2) в файле есть строка "оборотная ведомость бла бла бла..." ниже идет строка
"с 01/09/2011 по 30/09/2011" как можно использовать вот эти даты в таком ключе;
раз в примере например по 30/09/2011 мы сохраняем файл с именем 011011
а в начале файла вставляем строку "оборотная ведомость на 1 октября 2011г.(ну или на 01.10.2011)"
приветсвуются любые советы, решения, любые подсказки и ссылки на любые ресурсы где обсуждалось, или приводились примеры подобных ситуаци и редактировение ТХТ вообще.
Спасибо за уделенное внимание!