|
v7: v.7. LibreOffice (или ООо) Есть макрос, как записать его операторы в 1С? | ☑ | ||
---|---|---|---|---|
0
aka AMIGO
24.08.15
✎
14:24
|
Есть работающий код:
scr = СоздатьОбъект("MSScriptControl.ScriptControl"); scr.language = "javascript"; scr.eval("MyArray=new Array()"); ServiceManager=СоздатьОбъект("com.sun.star.ServiceManager"); scr.AddObject("ServiceManager",ServiceManager); scr.eval("MyArray[0]=ServiceManager.Bridge_GetStruct('com.sun.star.beans.PropertyValue')"); scr.eval("MyArray[0].Name='Hidden'"); scr.eval("MyArray[0].Value=true"); Массив = scr.eval("MyArray"); Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop"); Document = Desktop.LoadComponentFromURL("file://localhost/"+ИмяФайла, "_blank", 0, Массив); Листы = Document.getSheets(); //Лист = Листы.getByIndex(0); Лист = Листы.getByIndex(1); // второй лист книги Мне нужно почистить второй лист книги. Создал макрос, который этот лист чистит Вот его начало. dim document as object dim dispatcher as object ---------------------------------------------------------------------- rem get access to the document document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") rem ---------------------------------------------------------------------- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = "ToPoint" args1(0).Value = "$A$1:$I$492" dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1()) Как представить эти операции макроса в 1С? Я с утра пытался написать код, но безуспешно. Причина очевидна - вслепую тыкаюсь.. Может быть, в инете есть разъяснения по поводу? |
|||
1
aka AMIGO
24.08.15
✎
14:27
|
Могу привести полный код макроса.. Во второй половине его, в конце оператор чистки области.
|
|||
2
Масянька
24.08.15
✎
14:32
|
(1) Вот ты себе занятие нашел... На старости лет :))))))
|
|||
3
Злопчинский
24.08.15
✎
14:33
|
(2) ну, если молодые на нуле - надо же кому-то этим заниматься.. ;-)))
|
|||
4
aka AMIGO
24.08.15
✎
14:34
|
(2) угу, ты права :)
Но это дело нужное, Excel"я нет и не предвидится, а обработки менеджерам - подавай! :) |
|||
5
Злопчинский
24.08.15
✎
14:34
|
вот smaharba зря за e-банили, он бы вполпинка рассказал.
(0) поройся в архивах форума - там есть примеры по ОО |
|||
6
Масянька
24.08.15
✎
14:35
|
(4) Блин, плохо (про Excel). Не знаю эту хреновину.
|
|||
7
aka AMIGO
24.08.15
✎
14:37
|
(3) у них дело сложноее: купи-продай :)
(5) знаю, друже.. код сабжа - его рук дело. И искать в форуме умею, но ничего пригодного не встречается :( ЗЫВ. мне-бы только волшебный пендель - просек-бы сразу :) |
|||
8
vde69
24.08.15
✎
14:37
|
очистка листа - это очистка диапазона
2 оператора... |
|||
9
aka AMIGO
24.08.15
✎
14:39
|
(8) вот именно..
Есть у меня вариант - почистить в цикле каждую ячейку диапазона, ию.. И никому об этом варианте не говорить, воизбежание :) Только опять неграмотным останусь :) |
|||
10
vde69
24.08.15
✎
14:40
|
Листы = Document.getSheets();
//Лист = Листы.getByIndex(0); Лист = Листы.getByIndex(1);// второй лист книги Лист.Cells.Select Лист.Selection.Delete (Shift:=xlUp) // здесь нужно число в справке найти |
|||
11
vde69
24.08.15
✎
14:41
|
скобки забыл
Лист.Cells.Select() |
|||
12
aka AMIGO
24.08.15
✎
14:43
|
(10) спасибо, сейчас включу думалку..
|
|||
13
Масянька
24.08.15
✎
14:45
|
(12) Nen не рылся - http://catalog.mista.ru/public/87317/?
Вот еще - https://rtzra.ru/wiki/software/1c/1c-excel-openoffice. Еще - народ пишет, что в этой фигне нумерация строк и колонок с 0 начинается. |
|||
14
aka AMIGO
24.08.15
✎
15:09
|
(13) что с нуля - я знаю :)
(10) перебрал несколько вариантов, не срабатывает что-то, ни Select, ни Delete() |
|||
15
Масянька
24.08.15
✎
15:18
|
(14) Тут - http://www.cyberforum.ru/post6504147.html есть слово Select :)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |