|
Проблема с OLEObjects при работе из 1с | ☑ | ||
---|---|---|---|---|
0
Andy MilkyWay
17.03.14
✎
14:46
|
Необходимо добавить кнопки на листы книги Excel, которая формируется из 1с с помощью ComОбъекта. Делаю средствами Excel - все прекрасно получается. Теперь попытался перенести тот же функционал в 1с, ругается на операторе, которым добавляется кнопка в контейнер листа:
, где ws - ссылка на определенный лист Excel. Говорит, что нет объекта OLEObjects. Проверил в отладке - действительно нет. Но как-то же это работает в Excel'е? |
|||
1
Torquader
17.03.14
✎
14:49
|
А тип листа какой ?
|
|||
2
Andy MilkyWay
17.03.14
✎
14:52
|
(1) Worksheet
|
|||
3
Torquader
17.03.14
✎
14:54
|
Так у Worksheets есть функция
Function OLEObjects([Index]) As Object которая возвращает объект по номеру - ФУНКЦИЯ!!! |
|||
4
Andy MilkyWay
17.03.14
✎
14:56
|
(3) Согласен, так мы получаем конкретный экземляр объекта, но сам контейнер OLEObjects должен же быть виден в отладчике?
|
|||
5
Torquader
17.03.14
✎
14:57
|
(4) Я так понимаю, что это не контейнер, а функция, то есть должна вызываться со скобочками.
Просто в VBA скобочки - это не обязательный атрибут. Попробуй OleObjects() |
|||
6
Andy MilkyWay
17.03.14
✎
15:02
|
Хорошо, например, попробую
. А дальше как написать, что я хочу туда добавить новый объект?
Так? |
|||
7
Torquader
17.03.14
✎
15:03
|
(6) Да - если получил коллекцию, то в неё уже можно что-то добавлять.
|
|||
8
Andy MilkyWay
17.03.14
✎
15:04
|
(7) сейчас запустил формирование, пробую...
|
|||
9
Andy MilkyWay
17.03.14
✎
15:06
|
(7) Сделал, теперь пишет "Невозможно получить свойство Add класса OLEObjects"
|
|||
10
Torquader
17.03.14
✎
15:08
|
(9) Свойство ? Там должен быть метод.
|
|||
11
Torquader
17.03.14
✎
15:09
|
Function Add([ClassType], [Filename], [Link], [DisplayAsIcon], [IconFileName], [IconIndex], [IconLabel], [Left], [Top], [Width], [Height]) As OLEObject
|
|||
12
Andy MilkyWay
17.03.14
✎
15:10
|
(10)
|
|||
13
Torquader
17.03.14
✎
15:13
|
(12) Задай все параметры явно - в VBA они идут именованными и могут идти не по порядку, 1С умеет передавать параметры только по порядку - получается, что nButtonLeft - это имя файла.
|
|||
14
Andy MilkyWay
17.03.14
✎
16:00
|
Спасибо, все получилось, когда сделал так:
|
|||
15
Torquader
17.03.14
✎
16:03
|
(14) В следующий раз читайте инструкцию к VBA самостоятельно.
|
|||
16
Andy MilkyWay
17.03.14
✎
17:11
|
(15) по поводу количества параметров - каюсь, не подумал. А по поводу первого оператора вряд ли бы додумался. Спасибо
|
|||
17
Torquader
17.03.14
✎
17:20
|
(16) И то и другое я посмотрел во встроенном в Excel просмотрщике объектов, а также в файле справки.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |