2013-04-24 7 views
0

Я хочу программно выбрать один из вариантов, доступных в раскрывающемся списке Excel. Чтобы управлять рабочим листом, я использую win32ole на рубине. Работает хорошо, пока не попытаюсь изменить значение выпадающего списка.Как получить доступ к данным в выпадающем списке в excel с помощью WIN32OLE

Я просто не знаю, как и Google не помог.

Установка значения в ячейку так же просто, как рабочий лист. Целлы (x, y) .Value = new_value. Это не выбор одной из альтернатив, доступных в раскрывающемся списке, и это даже невозможно, так как соответствующая ячейка защищена.

Защита не мешает мне изменить значение вручную через excelso. Я полагаю, что там должен быть метод или функционал, который позволяет мне также имитировать это действие.

Помогите заранее при любых предложениях.

EDIT: Я пытаюсь выбрать одно из значений, доступных в раскрывающемся списке.

+0

Вы пытаетесь изменить значение раскрывающегося списка или пытаетесь выбрать одно из значений, доступных в раскрывающемся списке? –

+0

, пытаясь выбрать одно из значений, доступных в раскрывающемся списке. –

+0

Я потратил много времени на поиск справки (для меня) для WIN32OLE. Это довольно прямо, чтобы найти данную ячейку и прочитать или написать ей значение. Но я не могу для жизни меня найти, что делать с ячейкой, что это выпадающее меню. Получение текущего выбранного параметра так же просто, как получение значения ячейки. Но я искал способ получить массив, который должен быть выпадающим списком. –

ответ

0

Я не нашел api, специфичный для dropdows, но я управляю работой. Данные выпадающего списка находятся где-то в рабочей книге. Просто выберите их и установите в раскрывающуюся ячейку с помощью «Cells.Value = new_value».

Это было немного по-другому для меня, так как в моей рабочей книге, над которой я работал, был какой-то защищенный пользовательский раскрывающийся список, но, как представляется, решение понимает, что данные выпадающего списка можно найти где-то еще в книге.