fedora:aplikacje:libreoffice:basic
Różnice
Różnice między wybraną wersją a wersją aktualną.
Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
fedora:aplikacje:libreoffice:basic [2023/11/07 11:20] – [Usunięcie wszystkich wierszy z arkusza poza wierszem nagłówka] sindap | fedora:aplikacje:libreoffice:basic [2025/01/17 12:08] (aktualna) – [Odkrycie wszystkich ukrytych kolumn] sindap | ||
---|---|---|---|
Linia 12: | Linia 12: | ||
==== Przykładowe nazwy zmiennych ==== | ==== Przykładowe nazwy zmiennych ==== | ||
+ | |||
+ | === Zmienna dokumentu === | ||
< | < | ||
- | Dim oDoc As Object ' | + | Dim oDoc As Object ' |
- | Dim oSheet As Object ' | + | oDoc = ThisComponent.Sheets ' Ustal arkusze dla którego chcesz użyć makro |
+ | </ | ||
+ | |||
+ | === Zmienna arkusza === | ||
+ | < | ||
+ | Dim oSheet As Object ' | ||
+ | oSheet = ThisComponent.Sheets.getByName(" | ||
+ | </ | ||
+ | W powyższym przykładzie można by zastosować składnię: | ||
+ | < | ||
+ | oSheet = oDoc.getByName(" | ||
+ | </ | ||
+ | Jakiego sposobu użyjemy zależy od nas. Z jednej strony powyższy wpis może zmniejszyć wielkość kodu ale z drugiej strony mimo tego, że kod będzie mniejszy to może utrudnić jego zrozumienie. | ||
+ | Trzeba podejść elastycznie co w danym przypadku będzie wygodniejsze, | ||
+ | |||
+ | === Inne === | ||
+ | < | ||
Dim oTextCSV As Object ' Zmienna dokumentu CSV jako obiekt | Dim oTextCSV As Object ' Zmienna dokumentu CSV jako obiekt | ||
Dim sFile As String ' Zmienna ścieżki do pliku jako ciąg znaków | Dim sFile As String ' Zmienna ścieżki do pliku jako ciąg znaków | ||
Linia 30: | Linia 48: | ||
</ | </ | ||
- | Jeżeli wpiszemy '' | + | Jeżeli wpiszemy '' |
+ | |||
==== Tworzenie nowego arkusza o ile arkusz o podanej nazwie nie istnieje ==== | ==== Tworzenie nowego arkusza o ile arkusz o podanej nazwie nie istnieje ==== | ||
Linia 66: | Linia 86: | ||
< | < | ||
- | Dim oDoc As Object | + | Dim oDoc As Object |
- | ' Wyświetlenie nazw arkuszy z dokumentu | + | oDoc = ThisComponent.Sheets |
- | For Each sheet In oDoc | + | For Each Sheet In oDoc |
- | | + | |
Next | Next | ||
</ | </ | ||
Linia 76: | Linia 96: | ||
< | < | ||
- | Dim oDoc As Object | + | Dim oDoc As Object |
- | ' Wyświetlenie nazw arkuszy z dokumentu | + | oDoc = ThisComponent.Sheets |
MsgBox Join(oDoc.ElementNames, | MsgBox Join(oDoc.ElementNames, | ||
</ | </ | ||
Linia 169: | Linia 189: | ||
</ | </ | ||
+ | ==== Ukrycie kolumn B, D i G ==== | ||
+ | < | ||
+ | Dim oDoc As Object | ||
+ | Dim oSheet As Object | ||
+ | Dim oColumns As Object | ||
+ | ' Pobranie dokumentu i arkusza o nazwie " | ||
+ | oDoc = ThisComponent.Sheets | ||
+ | oSheet = oDoc.getByName(" | ||
+ | oColumns = oSheet.getColumns() | ||
+ | ' Ukrycie kolumn B (1), D (3) i G (6) | ||
+ | oColumns.getByIndex(1).IsVisible = False ' Ukrycie kolumny B | ||
+ | oColumns.getByIndex(3).IsVisible = False ' Ukrycie kolumny D | ||
+ | oColumns.getByIndex(6).IsVisible = False ' Ukrycie kolumny G | ||
+ | </ | ||
+ | |||
+ | ==== Odkrycie wszystkich ukrytych kolumn ==== | ||
+ | < | ||
+ | Dim oDoc As Object | ||
+ | Dim oSheet As Object | ||
+ | Dim oColumns As Object | ||
+ | Dim i As Integer | ||
+ | ' Pobranie dokumentu i arkusza o nazwie " | ||
+ | oDoc = ThisComponent.Sheets | ||
+ | oSheet = oDoc.getByName(" | ||
+ | oColumns = oSheet.getColumns() | ||
+ | ' Odkrycie wszystkich kolumn | ||
+ | For i = 0 To oColumns.getCount() - 1 | ||
+ | oColumns.getByIndex(i).IsVisible = True | ||
+ | Next i | ||
+ | </ | ||
+ | |||
+ | Generalnie chyba prościej zaznaczyć cały arkusz w lewym górnym rogu i odkryć kolumny z menu podręcznego myszki. | ||
==== Numer ostatniej niepustej kolumny w pierwszym wierszu ==== | ==== Numer ostatniej niepustej kolumny w pierwszym wierszu ==== | ||
Linia 266: | Linia 318: | ||
</ | </ | ||
+ | ==== Ukryj wiersze 2, 5 i 10 ==== | ||
+ | < | ||
+ | Dim oDoc As Object | ||
+ | Dim oSheet As Object | ||
+ | Dim oRows As Object | ||
+ | ' Pobranie dokumentu i arkusza o nazwie " | ||
+ | oDoc = ThisComponent.Sheets | ||
+ | oSheet = oDoc.getByName(" | ||
+ | oRows = oSheet.getRows() | ||
+ | ' Ukrycie wierszy 2 (1), 5 (4) i 10 (9) (indeksy zaczynają się od 0) | ||
+ | oRows.getByIndex(1).IsVisible = False ' Ukrycie wiersza 2 | ||
+ | oRows.getByIndex(4).IsVisible = False ' Ukrycie wiersza 5 | ||
+ | oRows.getByIndex(9).IsVisible = False ' Ukrycie wiersza 10 | ||
+ | </ | ||
+ | |||
+ | ==== Odkryj wszystkie wiersze ==== | ||
+ | < | ||
+ | Dim oDoc As Object | ||
+ | Dim oSheet As Object | ||
+ | Dim oRows As Object | ||
+ | Dim i As Long ' Zmieniono na Long, aby obsłużyć duże zakresy | ||
+ | ' Pobranie dokumentu i arkusza o nazwie " | ||
+ | oDoc = ThisComponent.Sheets | ||
+ | oSheet = oDoc.getByName(" | ||
+ | oRows = oSheet.getRows() | ||
+ | ' Odkrycie wszystkich wierszy | ||
+ | For i = 0 To oRows.getCount() - 1 | ||
+ | oRows.getByIndex(i).IsVisible = True | ||
+ | Next i | ||
+ | </ | ||
+ | |||
+ | Z uwagi na dużą ilość dostępnych wierszy lepiej odkrywać określone wiersze. Makro jako ciekawostka. Mało praktyczne. Może zjeść zasoby. | ||
==== Numer ostatniego niepustego wiersza w kolumnie A ==== | ==== Numer ostatniego niepustego wiersza w kolumnie A ==== | ||
Linia 353: | Linia 437: | ||
Dim oSheet As Object | Dim oSheet As Object | ||
Dim oCursor As Object | Dim oCursor As Object | ||
- | Dim lastRow As Integer | + | Dim lastRow As Long |
' Dotyczy dokumentu Calc | ' Dotyczy dokumentu Calc | ||
oDoc = ThisComponent.Sheets | oDoc = ThisComponent.Sheets |
fedora/aplikacje/libreoffice/basic.1699352443.txt.gz · ostatnio zmienione: 2023/11/07 11:20 przez sindap