Krąwedzie dla każdej komórki z zakresu

Makropolecenia i funkcje w języku Basic

Krąwedzie dla każdej komórki z zakresu

Postprzez jarekgol » Śr sie 01, 2018 9:34 am

Witam. Chciałbym sobie obrysować wszystkie używane komórki zwykłą czarną kreską, tak jak się to robi ręcznie, czyli:
zaznaczam użyte komórki, klikam krawędzie, wybieram "okienko" z krzyżykiem w środku i mam.

Nie umiem przepisać tej funkcji do Basic'a. Udało mi się jedynie obrysować cały zakres po zewnętrznych, oto kod:

Kod: Zaznacz cały   Rozszerz widokZwiń widok
Function UsedRange(oSheet As Variant) As Variant
Dim oCursor As Variant
    oCursor = oSheet.createCursor()
    oCursor.gotoEndOfUsedArea(False)
    oCursor.gotoStartOfUsedArea(True)
    UsedRange = oCursor
End Function


Sub Usun
   Dim Doc As Object
   Dim Sheet As Object
   Dim FirstRow As Object
   Doc = ThisComponent
   Sheet = Doc.Sheets (0)
   FirstRow = Sheet.getCellRangeByName("A1:Y1")
   FirstRow.IsTextWrapped = True
   Sheet.Columns.removeByIndex(0,2)
   Sheet.Columns.removeByIndex(1,1)
   Sheet.Columns.removeByIndex(3,2)
   Sheet.Columns.removeByIndex(4,2)
   Sheet.Columns.removeByIndex(5,16)
   Dim kolumna As Object
   kolumna = Sheet.Columns(0)
   kolumna.OptimalWidth = true
   kolumna = Sheet.Columns(1)
   kolumna.OptimalWidth = true

   rem Widoczne krawędzie
   
   Dim BasicBorder as New com.sun.star.table.BorderLine
   Dim oBorder As Object
   dim jTableBorder As New com.sun.star.table.TableBorder
   oBorder = UsedRange(Sheet).TableBorder
   'MsgBox oBorder.getRows().getCount()
   rem Werte für einen einfachen Rand
   BasicBorder.Color =0
   BasicBorder.InnerLineWidth = 0
   BasicBorder.OuterLineWidth = 1
   BasicBorder.LineDistance = 0
   oBorder.LeftLine = BasicBorder
   oBorder.TopLine = BasicBorder
   oBorder.RightLine = BasicBorder
   oBorder.BottomLine = BasicBorder
   UsedRange(Sheet).TableBorder = oBorder
   
   
   
   

End Sub


próbowałem użyć For Each na zakresie typu Range, ale chyba się nie da. Czy jedyną opcją jest przejście zakresu w zwykłych for'ach :( ?
OpenOffice 4.1.5 na Windows 7
jarekgol
 
Posty: 1
Dołączył(a): Śr sie 01, 2018 9:28 am

Powrót do Basic

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości