![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| magataka |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 23.5.2015 Репутация: нет Всего: нет |
Здравствуйте уважаемые форумчане.
У меня вопрос по автоматическому формированию связанного списка. Я создаю файл екселя 2003 с помощью познено связывания в среде Visual Studio 2010. Первый список создается в ячейке B3 нормально. При создании второго списка возникает ошибка COMException и моя программа аварийно завершается. При этом список не создается. Во втором списке использую формулу "=ДВССЫЛ(B3)", где B3 - адрес ячейки первого списка. Я выяснил, что при программном создании первого списка ячейка B3 остается ПУСТОЙ и это приводит к ошибке при создании второго связанного списка. Если после создания первого списка в нем выбрать любое допустимое значение, то ошибки при создании второго списка не будет. Подскажите пожалуйста как можно решить данную проблему. Привожу код функции формирования обоих списков на языке C# public void CreateDropDownList(string cell, string range) { _range = _workSheet.GetType().InvokeMember("Range", BindingFlags.GetProperty, null, _workSheet, new object[] {cell}); var val = _range.GetType().InvokeMember("Validation", BindingFlags.GetProperty, null, _range, null); val.GetType().InvokeMember("Delete", BindingFlags.InvokeMethod, null, val, null); var args = new object[] { XlValidateList, XlValidAlertWarning, XlBetween, range, null }; val.GetType().InvokeMember("Add", BindingFlags.InvokeMethod, null, val, args); val.GetType().InvokeMember("IgnoreBlank", BindingFlags.SetProperty, null, val, new object[] {true}); val.GetType().InvokeMember("InCellDropdown", BindingFlags.SetProperty, null, val, new object[] {true}); } Вот код вызова функции: первый список form = string.Format("={0}", "Менеджеры"); _excel.CreateDropDownList("$B$3", form); второй список form = "=ДВССЫЛ(B3)"; _excel.CreateDropDownList("$B$6", form); Заранее благодарен |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |