|
1c и excel, метод PasteSpecial
| ☑ |
0
yurec_k
24.09.12
✎
16:24
|
из 1с нужно сделать специальную вставку
при записи макроса код такой
"
Excel.Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
"
Как эту строку написать в 1с?
|
|
1
yurec_k
24.09.12
✎
16:29
|
что то типа:
"
Excel.Selection.PasteSpecial("xlPasteColumnWidths", "xlNone", 0, 0);
"
но так не работает
|
|
2
КонецЕсли
24.09.12
✎
16:41
|
PasteSpecial(8)
|
|
3
yurec_k
24.09.12
✎
18:04
|
(2) вставляет все что угодно только не ширину колонок
|
|
4
yurec_k
24.09.12
✎
18:20
|
как скопировать вставить ширину колонок?
код
"
Excel.Selection.PasteSpecial(8,-4142, 0, 0);
"
отрабатывает аналогично
"
Excel.Selection.Paste();
"
|
|
5
КонецЕсли
25.09.12
✎
08:28
|
Незнаю какой у тебя excel, но такой код:
Лист1 = Книга.WorkSheets(1);
Лист1.Range("A1:Z100").Copy();
Лист = Книга.Sheets.Add();
Лист.Range("A1:Z100").PasteSpecial(8);
у меня вставляет на новый лист только ширину колонок.
|
|
6
yurec_k
25.09.12
✎
13:55
|
ексель 2010
почему ширину колонок не передает так и не понял
код
"
Excel1.Selection.PasteSpecial(-4104,-4142,0,0);
"
вставляет скопирванное как картинку, при открытии такого файла все тормозит.
решил след образом:
добавил все что нужно в макрос в файл-эксель-источник и запустил
"
Excel2 = Новый COMObject("Excel.Application");
Excel2.Displayalerts = 0;
Файл2 = Excel2.Workbooks.Open(ФайлДен+".xlsx");
Excel2.Sheets(1).Select();
Файл2.VBProject.VBComponents.Add(1);
Файл2.VBProject.VBComponents("Module1").CodeModule.InsertLines(1, "Sub Макрос()");
Файл2.VBProject.VBComponents("Module1").CodeModule.InsertLines(2, "Cells.Select");
..........................
......................
Файл2.VBProject.VBComponents("Module1").CodeModule.InsertLines(15, "ActiveWorkbook.Save");
Файл2.VBProject.VBComponents("Module1").CodeModule.InsertLines(16, "ActiveWindow.Close");
Файл2.VBProject.VBComponents("Module1").CodeModule.InsertLines(17, "End Sub");
Excel2.Run("Макрос");
"
|
|