Имя: Пароль:
1C
1С v8
Передать параметр из 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
Мега спасибо ребят, спасибо за отзывчивость!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший