Имя: Пароль:
IT
 
Маленький макрос Экселя
0 AL CAPONE
 
25.07.11
13:36
Doc.Range("M1:O1").Select();
Doc.Selection.MergeCells = 1;
Doc.Rows("1:1").RowHeight = 46.5;

Вылетает на 2-й строке.
Пробовалось также
Doc.Selection.MergeCells = True;
Doc.Selection.MergeCells = "True";
Doc.Selection.MergeCells = "1";
Doc.Selection.MergeCells(True);
Doc.Selection.MergeCells(1);
Doc.Selection.MergeCells("True");
Doc.Selection.MergeCells("1");

ни один вариант не работает. Как побороть заразу ?
1 Wobland
 
25.07.11
13:38
namedRange1.Merge(False) © MSDN
2 AL CAPONE
 
25.07.11
13:41
(1)
Пишет - Переменная не определена (True)
3 butterbean
 
25.07.11
13:42
(2) 1
4 AL CAPONE
 
25.07.11
13:44
(3)
Doc.Selection.Merge(1), тоже с ошибкой
5 butterbean
 
25.07.11
13:45
(4) а так
Doc.Range("M1:O1").Merge(1)
6 Wobland
 
25.07.11
13:45
Range("A1:B1").Select
Selection.MergeCells = True
у меня не ругается
7 smaharbA
 
25.07.11
13:46
Doc.Range("M1:O1").Merge(0);
8 smaharbA
 
25.07.11
13:46
(6) а точки с запятой в сабже не смущают ?
9 Wobland
 
25.07.11
13:48
(8) я не настолько близок к вба ;)
10 AL CAPONE
 
25.07.11
13:50
Ну никак не хочет работать (
(8)
";" , т.к. это код в 1с 7.7
11 smaharbA
 
25.07.11
13:58

//*******************************************
Процедура Сформировать()
   Ексель=СоздатьОбъект("Excel.Application");
   Ексель.Visible=-1;
   Книги=Ексель.WorkBooks;
   Книга=Книги.Add();
   Листы=Книга.WorkSheets;
   Лист=Листы.Item(1);
   Ячейки=Лист.Cells;
   Диапазон=Лист.Range(Ячейки.Item(1,13),Ячейки.Item(1,15));
   Диапазон.Merge(0);
   Диапазон.Value="Объединение ?";
КонецПроцедуры
12 AL CAPONE
 
25.07.11
15:08
(11)
хм, в итоге

Doc.Range("M1:O1").MergeCells(1);
на самой строке прога вылетает с ошибкой, но в файле ячейки объединены правильно о_О ;

Doc.Range("M1:O1").Merge(1);
строка отрабатывает без ошибок, но в файле ячейки не объединены.
13 kittystark
 
25.07.11
23:26
попробуй вызвать просто .Merge(); без параметров
+ на заметку: в VBA False = 0, а True =-1
поэтому так же должен прокатить вызов .MergeCells = -1;