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 13:45] – [Tworzenie nowego arkusza] 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 68: | 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 78: | 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 171: | 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 268: | 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 ==== | ||
fedora/aplikacje/libreoffice/basic.1699361138.txt.gz · ostatnio zmienione: przez sindap
