|
Ексель, флажок |
☑ |
0
Pandoch
02.12.14
✎
16:54
|
В екселе можно вставить, включив режим "Разработчик" флажок в ячейку, связав его с ней. Как это можно сделать программно? Вставить в ячейку флажок?
|
|
1
mzelensky
02.12.14
✎
16:56
|
(0) макросом
|
|
2
mzelensky
02.12.14
✎
16:57
|
Запускаешь запись макросов. Вставляешь в экселе флажок (интерактивно). Останавливаешь запись макросов. Смотришь получивший ся и выполняешь программно.
|
|
3
Pandoch
02.12.14
✎
16:59
|
подскажите, как запустить запись макроса тогда) это из екселя самого делать?
|
|
4
Pandoch
02.12.14
✎
17:01
|
все, разбираемся вроде
|
|
5
Pandoch
02.12.14
✎
17:13
|
помогите теперь это перенести в код 1с))
ActiveSheet.CheckBoxes.Add(633, 305.25, 24, 17.25).Select
Range("I20").Select
ActiveSheet.Shapes.Range(Array("Check Box 12")).Select
Selection.Characters.Text = ""
With Selection
.Value = xlOff
.LinkedCell = "$I$18" //связываем ячейку и флажок
.Display3DShading = False
End With
Тут select-ты всякие, и присваивается флажок по координатам, не ясно, как присвоить его конкретной ячейке, и вообще как без select создавать его.
|
|
6
SiAl-chel
02.12.14
✎
17:24
|
(5) Не селекты, а селекшены, то есть диапазон выбранных ячеек. Диапазоном ячеек может быть что угодно: от одной ячейки до всех ячеек листа. В данном случае выбранный диапазон ячеек это ячейка с адресом I20. Можешь вместо Selection запросто писать Range("I20").
С COM-соединениями хотя бы работал? Если нет, то срочно листать литературу. В документации по 1С там целая глава.
|
|
7
Pandoch
02.12.14
✎
17:50
|
Работал) уже почти получилось. подскажите еще, как сделать невидимым текст ячейки? нашелся такой код: cell.Font.Color = vbWhite
как задать значение vbWhite в 1с?
|
|
8
mikecool
02.12.14
✎
17:52
|
(7) в записи макроса ставишь бряк и смотришь - чему это значение равно
|
|
9
Sei Souma
02.12.14
✎
17:52
|
Посмотреть в справке Экселя из макроса значения констант
|
|
10
tridog
02.12.14
✎
17:53
|
(7) Const vbWhite = 16777215 (&HFFFFFF)
|
|
11
Pandoch
02.12.14
✎
17:58
|
Спасибо всем. В итоге вышло так:
Лист.Cells(count,9).Interior.color = 192192; //мой цвет ячейки
x = Лист.Cells(count,9).Left + Лист.Cells(count,9).Width / 2 - chsize / 2;
y = Лист.Cells(count,9).Top + Лист.Cells(count,9).Height / 2 - chsize / 2;
бокс = Лист.CheckBoxes.Add(x, y , chsize, chsize);
бокс.Text = "";
адрес = Лист.Cells(count,9).address;
бокс.LinkedCell = адрес;
Лист.Cells(count,9).Font.Color = 192192; //цвет шрифта такой же задаю
|
|
12
Pandoch
02.12.14
✎
17:59
|
выше:
chsize = 15;
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший