|   |   | 
| 
 | 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 :)))     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |