|
Передать параметр из 1С в Эксель |
☑ |
0
LexaDF
11.09.14
✎
14:29
|
Доброго времени суток.
Не получается разобраться, и гугл молчит.
Во общем считываю фаил экселя 1Ской, в колонках содержатся числовые данные как пример "0|1255|6780|03|4", таких 3 колонки. Я создал ТЗ в нее все запилил и думал уже писать обработку строки и тут пришла "гениальная идея", как все упростить. Если открыть экселем этот фаил и в "Мастере текстов" указать символ разделитель "другой = |" Тогда эксель сам все правильно разбивает (именно в таком формате нам ненужно построчно обрабатывать) и остается только прочитать и записать данные, но в ручную так проделывать не вариант это событие должно происходить ночью.Прошу помощи разобраться как через 1С передать параметр в ексэль, что граница колонки это символ |, пробовал пере сохранять и так пару не очень умных идей, но пока в тупике. Спасибо.
|
|
1
LexaDF
11.09.14
✎
15:22
|
Во общем как вариант попробовать из УПП вытянуть функцию "РазложитьСтрокуВМассивПодстрок", но опять же это обработка средствами 1С :/
|
|
2
Repey
11.09.14
✎
15:56
|
Макрос записать?
|
|
3
LexaDF
11.09.14
✎
16:04
|
Попробую по гуглить :(
|
|
4
LexaDF
11.09.14
✎
16:59
|
HELP :(
|
|
5
Jaap Vduul
11.09.14
✎
17:08
|
|
|
6
_fvadim
11.09.14
✎
17:32
|
октрыть как есть, из 1с сделать в excel TextToColumns, потом читать
|
|
7
_fvadim
11.09.14
✎
17:33
|
а собсно в (5) тоже самое
|
|
8
LexaDF
11.09.14
✎
18:37
|
Спасибо за подсказку, порылся в гугле, искал пример использования. Можно простенький пример как использовать в 1С.
Лист = Book.Sheets(1);
Лист.TextToColumns....или я не правильно думаю.
На сайте микрософта:
ActiveSheet.Paste
Selection.TextToColumns DataType:=xlDelimited, _
ConsecutiveDelimiter:=True, Space:=True
Не получается у меня пока что :(
Извиняюсь, за надоедливость :(
|
|
9
SUA
11.09.14
✎
18:43
|
expression .TextToColumns(Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers)
поэтому как-то так будет
Лист.Range(откуда конкретно).TextToColumns(куда,(несколько запятых),1(other),"|"(OtherChar))
|
|
10
_fvadim
11.09.14
✎
18:46
|
ExcelObj = Новый COMОбъект("Excel.Application");
ExcelObj.Workbooks.Open("C:\1.xls");
ExcelObj.visible = true;
ExcelObj.Columns("A:A").Select();
ExcelObj.Selection.TextToColumns(ExcelObj.Range("A1"), 1,,0,0,0,0,0,1,"|");
сам файл:
111|222|333
111|222|333
111|222|333
111|222|333
|
|
11
LexaDF
11.09.14
✎
19:28
|
Мега спасибо ребят, спасибо за отзывчивость!
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший