Hallo,
ich möchte einen bestimmten Datenbereich aus einem Dokument in ein anderes einfügen, leider gelingt mir dies nicht. Bekomme in der Zeile "Daten in den Zielbereich kopieren" immer einen Fehler. Kann mir jemand helfen?
Grüße Hannes
Sub DatenEinfuegen()
Dim QuellDok As Object
Dim ZielDok As Object
Dim QuellTabelle As Object
Dim ZielTabelle As Object
Dim DatenBereich As Object
Dim ZielZeile As Long
' Pfad und Dateiname der Quelldatei
Dim quellDatei As String
quellDatei = "C:\Users"
' Pfad und Dateiname der Zieldatei
Dim zielDatei As String
zielDatei = "C:\Users\"
' Öffnen der Quelldatei
QuellDok = StarDesktop.loadComponentFromURL(ConvertToURL(quellDatei), "_blank", 0, Array())
' Öffnen der Zieldatei
ZielDok = StarDesktop.loadComponentFromURL(ConvertToURL(zielDatei), "_blank", 0, Array())
' Festlegen der Quelltabelle
QuellTabelle = QuellDok.Sheets(0)
' Festlegen der Zielzeile, in die die Daten eingefügt werden sollen
ZielZeile = 1
' Festlegen der Ziel-Tabelle
ZielTabelle = ZielDok.Sheets(0)
' Festlegen des Datenbereichs, der in die Ziel-Tabelle eingefügt werden soll
DatenBereich = QuellTabelle.getCellRangeByName("A1:B5")
' Daten in den Zielbereich kopieren
ZielTabelle.getCellByPosition(0, ZielZeile).setDataArray(DatenBereich.getDataArray())
' Schließen der Dokumente
QuellDok.close(True)
ZielDok.close(True)
End Sub
🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
basic Makro welches einen bestimmten Datenbereich aus einem Dokument in ein anderes einfügt
-
- Beiträge: 1
- Registriert: Do 1. Jun 2023, 15:42
Re: basic Makro welches einen bestimmten Datenbereich aus einem Dokument in ein anderes einfügt
Hallo
siehe Kommentare im Code
siehe Kommentare im Code
Code: Alles auswählen
Sub DatenEinfuegen()
Dim QuellDok As Object
Dim ZielDok As Object
Dim QuellTabelle As Object
Dim ZielTabelle As Object
Dim DatenBereich As Object
Dim ZielZeile As Long
' Pfad und Dateiname der Quelldatei'
Dim quellDatei As String
quellDatei = "C:\Users" '#### hier fehlt offensichtlich der Dateiname #####'
' Pfad und Dateiname der Zieldatei'
Dim zielDatei As String
zielDatei = "C:\Users\" '###### hier ebenso #####'
' Öffnen der Quelldatei
QuellDok = StarDesktop.loadComponentFromURL(ConvertToURL(quellDatei), "_blank", 0, Array())
' Öffnen der Zieldatei
ZielDok = StarDesktop.loadComponentFromURL(ConvertToURL(zielDatei), "_blank", 0, Array())
' Festlegen der Quelltabelle
QuellTabelle = QuellDok.Sheets(0)
' Festlegen der Ziel-Tabelle
ZielTabelle = ZielDok.Sheets(0)
' Festlegen des Datenbereichs, der in die Ziel-Tabelle eingefügt werden soll
DatenBereich = QuellTabelle.getCellRangeByName("A1:B5")
' Daten in den Zielbereich kopieren
' ##### der Zielbereich muss die passende Größe haben !!!! #########
ZielTabelle.getCellRangeByName("A1:B5").setDataArray(DatenBereich.getDataArray())
' Schließen der Dokumente …
QuellDok.close(True)
ZielDok.store() ' ##### …aber das Speichern nicht vergessen #####
ZielDok.close(True)
End Sub
LO7.4.7.5 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.0.3 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.