powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Cells.Find...
25 сообщений из 53, страница 2 из 3
Excel. Cells.Find...
    #37783183
ElenHim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zixxx или хотя бы excel умел правильно читать mxl, я был бы просто счастлив.
Не вижу причин не быть счастливым
Начиная с 2002, Ограничения xmlss
Начиная с 2007, OpenXML (pdf)
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783187
ElenHim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Упс, немного перепутал(xml mxl)
Но все равно, с xml тоже можно быть счастливым.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783206
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZixxxЯ их и беру непосредственно из 1с и они у меня есть в бланке заказа который сформирован в 1с, далее мне его нужно сохранить. Сохранить я его могу, например в mxl тогда имена останутся, а если я сохраню бланк в xls то имена не сохраняются. Поэтому, еще в момент формирования бланка в 1с, я ячейкам задаю определенный текст, который в дальнейшем мне и нужно перенести в имена ячеек.Я имел ввиду вот что
- сохраняем файл как экселевский
- подключаемся к файлу через СОМ
- добавляем в коллекцию Names нужные имена без перебора ячеек (данные для этого берем из 1С повторно)
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783234
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zixxxformul и if очень мало. Если реализация бредовая предложите другой вариант.
под спойлер стоит заглянуть при двух "если"
-имена ячеек используются исключительно для работоспособности формул в Excel
-у Вас есть возможность и желание повлиять на _создание_ отчета

убрать из 'формул' префиксы
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
есть
_formula_=SUM(....
_if_=IF(...

сделать
=SUM(....
=IF(...



изменить формулы, содержащие имена
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
колонки 'Сумма'
есть 
=SUM(name(1)+name(2)+...+name(N)+0)*RC[-(N+1)]
сделать
=SUM(RC[-N]:RC[-1])*RC[-(N+1)]

небольшие сложности возникнут для колонки 'Итого, штук'
есть
=SUM(name(1)+name(2)+...+name(K)+0)
сделать
=RC[-X1]+RC[-X2]+...+RC[-XK]+0



не заполнять ячейки именами ВООБЩЕ

в таком случае обработка файла станет до смешного простой:

Код: vbnet
1.
2.
3.
4.
5.
// ...
  РабочаяКнига = Эксель.Workbooks.Open(Файл);
  Диапазон = РабочаяКнига.Worksheets(1).UsedRange;
  Диапазон.Formula = Диапазон.Formula;
// ...




ЗЫ: простите, если эпитет бредовая Вас обидел.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783290
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zixxx,

для более ясной схемы таблицы
__name_ количество по товару_ип_точке_.....
_formula_количество * цену или сумма по столбцу
_iif_признак группировки по ип

у ип или ооо может быть несколько точек
№НаименованиеЕд.Ед. местК.Кол. местАБЦенаВысоцкого, 44Невельского, 51СуммаИтого, штук1Бифидо кефир 2,5% 420 г ПЭТштмест10 _formula _=SUM (RC[29] /RC[-1]) 100.00 _name _ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95 _name _ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _b910ecef.9cc8.44e8.b0df.bc705acb83ed _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95 _formula _=SUM( _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _b910ecef.9cc8.44e8.b0df.bc705acb83ed _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+0)*RC[-3] _formula _=SUM( _C _N _4b35a34e.6838.4fe1 .92e9.55453a70e97b _C _3d273d36.3331.4dd5.af15.f781f131edd3 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _b910ecef.9cc8.44e8.b0df.bc705acb83ed _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _403ab811.54da.43e4.b998.5454fe5a7475 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _3e716fa5.17ee.4d2a.86eb.b2647f34ceb0 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _c9237718.def7.442c.978d.a86c36492149 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _333fec40.63ed.4e93.83cd.3106eb6a7fb7 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _333fec40.63ed.4e93.83cd.3106eb6a7fb7 _V _b910ecef.9cc8.44e8.b0df.bc705acb83ed _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _3ebd32de.8070.47ac.9d60.1918ee055739 _V _b910ecef.9cc8.44e8.b0df.bc705acb83ed _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _4b35a34e.6838.4fe1.92e9.55453a70e97b _C _3ebd32de.8070.47ac.9d60.1918ee055739 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+0)2Бифидо кефир 2,5% 950 г тетра рексштмест10 _formula _=SUM (RC[29] /RC[-1]) 100.00 _name _ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95 _name _ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _b910ecef.9cc8.44e8.b0df.bc705acb83ed _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95 _formula _=SUM( _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _b910ecef.9cc8.44e8.b0df.bc705acb83ed _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+0)*RC[-3] _formula _=SUM( _C _N _3737e743.d080.4649 .adb8.1d00b69eef68 _C _3d273d36.3331.4dd5.af15.f781f131edd3 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _191b3bc1.c4d4.42a0.85f4.a8c25aac161a _V _b910ecef.9cc8.44e8.b0df.bc705acb83ed _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _403ab811.54da.43e4.b998.5454fe5a7475 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _3e716fa5.17ee.4d2a.86eb.b2647f34ceb0 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _c9237718.def7.442c.978d.a86c36492149 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _333fec40.63ed.4e93.83cd.3106eb6a7fb7 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _333fec40.63ed.4e93.83cd.3106eb6a7fb7 _V _b910ecef.9cc8.44e8.b0df.bc705acb83ed _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _3ebd32de.8070.47ac.9d60.1918ee055739 _V _b910ecef.9cc8.44e8.b0df.bc705acb83ed _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+ _C _N _3737e743.d080.4649.adb8.1d00b69eef68 _C _3ebd32de.8070.47ac.9d60.1918ee055739 _V _4e115265.2211.42de.bc59.7d7deec26cde _T _d0d43c5c.554d.11e1.b4a5.1c6f65d75e95+0)Итого сумма по группе_if _=IF(RC[1]>0, "+","")_formula _=SUM(R[-10]C[3]:R[-1]C[3])_formula _=SUM(R[-10]C:R[-1]C)
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783333
Zixxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProZixxxЯ их и беру непосредственно из 1с и они у меня есть в бланке заказа который сформирован в 1с, далее мне его нужно сохранить. Сохранить я его могу, например в mxl тогда имена останутся, а если я сохраню бланк в xls то имена не сохраняются. Поэтому, еще в момент формирования бланка в 1с, я ячейкам задаю определенный текст, который в дальнейшем мне и нужно перенести в имена ячеек.Я имел ввиду вот что
- сохраняем файл как экселевский
- подключаемся к файлу через СОМ
- добавляем в коллекцию Names нужные имена без перебора ячеек (данные для этого берем из 1С повторно)

Я привязал имена к ячейкам, при загрузки бланка я читаю через com именованные ячейки и беру их значения, на основании имени я понимаю какая это номенклатура, какой адрес, какой контрагент и какой тип цен. Поэтому просто перенести туда имена для меня не имеет смысла я их связываю с определенными ячейками.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783355
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZixxxЯ привязал yимена к ячейкам, при загрузки бланка я читаю через com именованные ячейки и беру их значения, на основании имени я понимаю какая это номенклатура, какой адрес, какой контрагент и какой тип цен. Поэтому просто перенести туда имена для меня не имеет смысла я их связываю с определенными ячейками


- из 1С выгружаете в .xls;
- "доводите до ума" файл .xls;
- отдаете пользователю;
- заполненный пользователем файл "импортируете" в 1С.

Правильно понял схему ?
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783398
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZixxxПоэтому просто перенести туда имена для меня не имеет смысла я их связываю с определенными ячейками.А я разве говорил, что их не надо связывать? Вы, видимо, не посмотрели пример ElenHim 12507044 - я предлагаю использовать эту схему, только не на стороне экселя, а на стороне SQL
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783415
Zixxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProZixxxПоэтому просто перенести туда имена для меня не имеет смысла я их связываю с определенными ячейками.А я разве говорил, что их не надо связывать? Вы, видимо, не посмотрели пример ElenHim 12507044 - я предлагаю использовать эту схему, только не на стороне экселя, а на стороне SQL
Может я что-то не так понял из-за незнакомой мне терминологии, но у меня на стороне sql все нормально, у меня mxl заполнен именованными ячейками.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783442
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, я сказал SQL, имея ввиду 1С.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783444
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не вполне понятна конечная цель... Чтоб потом подставить это имя в формулу?
Как вариант для разработки - просматриваем диапазон, запоминаем адреса всех таких ячеек в словаре (ну и корректируем значение этих ячеек)
Затем снова просматриваем диапазон, и во всех формулах заменяем такие имена на их адреса (достаём из словаря). сразу преобразуем текст в формулу.
И побыстрее будет, и объём файла можно в несколько раз уменьшить.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783489
Zixxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProОй, я сказал SQL, имея ввиду 1С.
На стороне 1с все есть
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783492
Zixxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hugo121Не вполне понятна конечная цель... Чтоб потом подставить это имя в формулу?
Как вариант для разработки - просматриваем диапазон, запоминаем адреса всех таких ячеек в словаре (ну и корректируем значение этих ячеек)
Затем снова просматриваем диапазон, и во всех формулах заменяем такие имена на их адреса (достаём из словаря). сразу преобразуем текст в формулу.
И побыстрее будет, и объём файла можно в несколько раз уменьшить.
Конечная цель - получить из excel ссылки на контрагента, номенклатуру, тип цен, и адрес доставки из одной ячейки в которой будет значение. С этим проблем нет.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783560
ElenHim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то тема куда-то в лес уходит.

Изначальная проблема была в том, что код отрабатывал медленно.
Были предложены решения, которые отрабатывают быстрее.
При таких форматах и условиях это - лучшее, что может быть сделано.

Дальнейшая оптимизация потребует изменение форматов, логики и, возможно, много чего ещё.
Только это уже совсем другая история.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783657
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> ElenHim
> Что-то тема куда-то в лес уходит.

> Изначальная проблема была в том, что код отрабатывал медленно.

А поговорить?...
полуофф (тест)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
Option Explicit

' попытка добавить на лист 100к имён
' Excel 2003
' время работы ~5 минут и
' runtime error '1004': Application-defined or object-defined error 
' на попытке добавить 65473-е имя :((

Sub names100k()
Const NAMEADD& = 100000
Const NAMEFORCOL& = 10000
Const STARTROW& = 1
Const STARTCOL& = 1

Dim xl As Object
Dim i&, ii&, r&, k&
Dim t!


Set xl = New Excel.Application

With xl
    .ScreenUpdating = False
    '.Calculation = xlCalculationManual
    .EnableEvents = False
    
    t = Timer
    k = STARTCOL: ii = 0
    
    With .Workbooks.Add
        With .Worksheets(1).Names
            For i = 1 To NAMEADD
                If ii >= NAMEFORCOL Then ii = 0: k = k + 1: Debug.Print i - 1, Int(Timer - t)
                
                .Add Name:="_name" & i, Visible:=False, _
                    RefersToR1C1:="=R" & ii + STARTROW & "C" & k
                
                ii = ii + 1
            Next i
        End With '.Worksheets(1).Names
    
MsgBox "Создать 100к имён в новой пустой книге: ~ " & Int(Timer - t) & " c"
        
        .Close False
    End With '.Workbooks.Add
    
    .ScreenUpdating = True
    '.Calculation = xlCalculationAutomatic
    .EnableEvents = True
    
    .Quit

End With 'xl

Set xl = Nothing

End Sub

...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783747
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я думаю, что затея с именами изначально неверная - слишком много накладных расходов. Писать все эти значения, потом их обрабатывать, заменять...
Неужели нет другого пути - сразу где-то на стороне 1С это проделывать? (правда я 1С не видел...)
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783838
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на стороне 1с видимо
--вводятся данные
--формируется дикий отчет

а что делается на стороне екселя

для просмотра сводными таблицами такой монстр не нужен

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

и настроить на него сводную
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783849
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Hugo121
> Неужели нет другого пути - сразу где-то на стороне 1С это проделывать? (правда я 1С не видел...)

Приоткрыть завесу тайны может только ТС, но он, видимо, потерял интерес к данной теме...


Камрады, кому так же скучно, как мне, запустите, плз, у себя тест 12513716 и отпишитесь о результатах.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783857
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> ПЕНСИОНЕРКА
> ...
> а что делается на стороне екселя

Набиваются данные.
После чего эта вся красотень импортируется обратно в 1С. Чтобы упростить/сделать вообще возможным этот импорт ТС так извращается.

ЗЫ: это всё мои досужие вымыслы.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783932
ElenHim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотищаА поговорить?...


Обо что тут гутарить?

скукотищаКамрады, кому так же скучно, как мне, запустите, плз, у себя тест 12513716 и отпишитесь о результатах.

Чтот мне этот ваш код не очень нравится, поэтому предлагаю свой
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Option Explicit

Sub Ex()
Dim rng As Range, nome As Name, process As Variant
Dim i As Long, j As Long
With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    .DisplayAlerts = False
End With
With ThisWorkbook
    Set rng = .WorkSheets(1).Cells(1, 1).Resize(1000, 100)
    rng.Value = "test"
    process = rng
    Debug.Print "Names.Count: " & .Names.Count
    Debug.Print Now()
    For i = LBound(process, 1) To UBound(process, 1)
        For j = LBound(process, 2) To UBound(process, 2)
            If Left$(process(i, j), 4) = "test" Then
                Set nome = .Names.Add(Name:=process(i, j) & "_" & i & "_" & j, RefersToR1C1:="=R" & i & "C" & j) 
            End If
        Next j
    Next i
    Debug.Print Now()
    Debug.Print "Names.Count: " & .Names.Count
    .SaveAs Filename:="C:\Test.xls"
End With
With Application
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
    .DisplayAlerts = True
End With
Set rng = Nothing
Set nome = Nothing
End Sub




Мои результаты (E7300, 2ГБ ОЗУ,Excel 2010, в файле *.xls)

Names.Count: 0
05.05.2012 16:27:57
05.05.2012 16:30:19
Names.Count: 100000
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37783998
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> ElenHim
> Чтот мне этот ваш код не очень нравится, поэтому предлагаю свой

Не нравтся, так не нравтся. Насильно мил не будешь.

(ASUS X51L, Intel T2370@1.73GHz, RAM 2GB, Excel 2003 SP1)
Время работы ~5 минут, ошибка та же, что и с моим кодом.
Имён добавляет на одно больше ))

ЗЫ: Памяти потребляет при этом ~ на 60% больше, чем мой код ( 58 KB против 35) .
ЗЗЫ: спасибо, что уделили мне внимание.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37787177
Zixxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища> Hugo121
> Неужели нет другого пути - сразу где-то на стороне 1С это проделывать? (правда я 1С не видел...)
Приоткрыть завесу тайны может только ТС, но он, видимо, потерял интерес к данной теме...

Нет, интерес не пропал. Я просто уже писал почему так пришлось делать. Одна из причин это то что ячейка должна хранить больше данных чем позволило бы определить по колонке и строке, во вторых скорость разбора с именами у меня очень быстрая. Также я говорил что 1с на своей стороне все делает, она создает файл с именами так как мне и нужно, по при сохранении в xls платформа их не переносит.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37787198
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Zixxx,
я до сих пор так и не понял, зачем выгружать в Excel а потом обратно тянуть, если можно(?) всё делать в 1С.

А с экселем можно попробовать не писать имена в ячейки таблицы, а сохранить пары Name-RefersToR1C1 в таблице значений и при обработке xls-файла добавить имена, используя эту таблицу значений.

ЗЫ: в экселе у объекта Name есть свойство Visible. Влияет на отображение в пользовательском интерфейсе.
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37787207
Zixxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотищаZixxx,
я до сих пор так и не понял, зачем выгружать в Excel а потом обратно тянуть, если можно(?) всё делать в 1С.

А с экселем можно попробовать не писать имена в ячейки таблицы, а сохранить пары Name-RefersToR1C1 в таблице значений и при обработке xls-файла добавить имена, используя эту таблицу значений.

ЗЫ: в экселе у объекта Name есть свойство Visible. Влияет на отображение в пользовательском интерфейсе.

Почему промежуточное звено excel, это связано с некоторыми особенностями, удаленных не автоматизированных рабочих точек.
При обработке мне так и так придется определить какой ячейки что писать. В момент формирования табличного документа в 1с, у меня адрес ячейки всегда R1C1. Соответственно, я не смогу определить и где-то запомнить имена ячеек
...
Рейтинг: 0 / 0
Excel. Cells.Find...
    #37787210
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Zixxx
> Соответственно, я не смогу определить и где-то запомнить имена ячеек

Да запросто.
Настроенные секции есть, размеры (высота, ширина) известны. Вычислить адрес той или иной ячейки - как два байта переслать. Но это уже оффтоп в данной ветке.
...
Рейтинг: 0 / 0
25 сообщений из 53, страница 2 из 3
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel. Cells.Find...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]