Имя: Пароль:
1C
1С v8
Ексель, флажок
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;