Witam.
Potrzebuję wskazówek jak napisać makro w Libreoffice . Makro ma za zadanie skopiować wybrane kolumny (A1,B1,C1,D1) z pliku Nadajnik.xlsx do pliku Odbiornik.ods w arkusz Cel.
Dziękuję każdą wskazówkę.
LibreOffice makro wybrane kolumny
LibreOffice makro wybrane kolumny
- Załączniki
-
- Testy.zip
- (5.37 KiB) Pobrany 241 razy
Libreoffice 6.0.4.2 Windows 10/ Ubuntu 18.04 Libreoffice 6.0.4.2
Re: LibreOffice makro wybrane kolumny
Witam.
Udało mi się z poziomu arkuszy tego samego dokumentu, jak zrobić by kopiował z arkusza innego dokumentu?
Pozdrawiam
Udało mi się z poziomu arkuszy tego samego dokumentu, jak zrobić by kopiował z arkusza innego dokumentu?
Pozdrawiam
Kod: Zaznacz cały
Sub Main5
Doc = ThisComponent
Sheets = Doc.Sheets()
SheetCopy = Sheets.getByName("jeden")
SheetPaste = Sheets.getByName("dwa")
CopyRange = SheetCopy.getCellRangeByName("A1:A11")
PasteCell = SheetPaste.getCellRangeByName("B1")
CopyAddress = CopyRange.RangeAddress
PasteAddress = PasteCell.CellAddress
SheetCopy.CopyRange(PasteAddress, CopyAddress)
End Sub
- Załączniki
-
- Odiornik.ods
- (13.68 KiB) Pobrany 257 razy
Libreoffice 6.0.4.2 Windows 10/ Ubuntu 18.04 Libreoffice 6.0.4.2
Re: LibreOffice makro wybrane kolumny
zamiast ThisComponent trzeba rozróżnić dwa dokumenty, najlepiej po nazwie.
Musisz zdecydować, czy działasz na otwartych wcześniej dokumentach, czy próbujesz otwierać dokumenty o podanych nazwach, czy też pytasz użytkownika o nazwę/nazwy.
Radzę zajrzeć do OOME oraz AndrewMacro Andrew Pitonyaka. Setki prostych przykładów pogrupowane tematycznie.
Musisz zdecydować, czy działasz na otwartych wcześniej dokumentach, czy próbujesz otwierać dokumenty o podanych nazwach, czy też pytasz użytkownika o nazwę/nazwy.
Radzę zajrzeć do OOME oraz AndrewMacro Andrew Pitonyaka. Setki prostych przykładów pogrupowane tematycznie.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
Re: LibreOffice makro wybrane kolumny
Witam i dziękuję
Dokumenty nie będą wcześniej otwierane, makro ma za zadnie pobrać z nich dane z wybranych kolumn.
Poproszę o wskazówki jak pobrać dane z zewnętrznego arkusza, za pomocą makra?
Dokumenty nie będą wcześniej otwierane, makro ma za zadnie pobrać z nich dane z wybranych kolumn.
Poproszę o wskazówki jak pobrać dane z zewnętrznego arkusza, za pomocą makra?
Libreoffice 6.0.4.2 Windows 10/ Ubuntu 18.04 Libreoffice 6.0.4.2
Re: LibreOffice makro wybrane kolumny
Może tak
Zmień sobie ścieżkę do pliku źródłowego i zakresy komórek.
Kod: Zaznacz cały
Sub Copy_Calc2Calc
Dim Url As String
Dim Properties(0) As New com.sun.star.beans.PropertyValue
Dim quotes
Dim Doc As Object
Dim Sheet As Object
Dim Cell As Object
'************Dokument docelowy***************
Doc = ThisComponent
Sheet = Doc.Sheets.getByName("Arkusz1")
Cell = Sheet.getCellRangeByName("A1:D10")
'********************************************
'****Ścieżka i parametry otwarcia pliku źródłowego
Url = ConvertToURL("~/Calc2Calc/Nadajnik.xlsx")
Properties(0).Name = "Hidden"
Properties(0).Value = true
'*******************************************
'********Otwarcie ukrytego pliku źródłowego
quotes = StarDesktop.LoadComponentFromUrl(url, "_blank", 0, Properties())
'************lokalizacja danych źródłowych
qSheet = quotes.Sheets.getByName("Arkusz1")
qCells = qSheet.getCellRangeByName("A1:D10")
'**********pobranie danych źródłowych
qDataArray = qCells.getDataArray
'**********wstawienie danych w pliku docelowym
Cell.setDataArray(qDataArray)
'**********zamknięcie pliku źródłowego
quotes.close(true)
End Sub
LibreOffice 5.1.2.2 Ubuntu 16 LTS
[Solved] LibreOffice makro wybrane kolumny
Dziękuję
Dokładnie o to mi mi chodziło.
Pozdrawiam
Dokładnie o to mi mi chodziło.
Pozdrawiam
Libreoffice 6.0.4.2 Windows 10/ Ubuntu 18.04 Libreoffice 6.0.4.2