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
🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
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
-
Hannes1966
- 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 LO25.2.x.y debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)
LO25.8.x.y flatpak debian 13(trixie) auf Raspberry5 8GB (64bit)
An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️