Hallo,
wie cwolan bereits schrieb, fehlt die Referenzierung der Objektvariablen "Buchhaltung"
Ich gehe noch eine Schritt weiter, denn die Deklaration Deiner Variablen sind alle unzureichend,
weil diese intern vom Datentyp "Variant" deklariert sind.
Deklariere die Variablen korrekt, besonders die Objektvariablen.
Damit ich in meinen Code weiß, was ich als Objektvariable oder sonst wie deklariert habe,
verwende ich Präfixe, wie auf dieser Seite beschrieben:
https://wiki.openoffice.org/wiki/DE/Mak ... #Variablen
Code: Alles auswählen
Option Explicit
Sub Main
Dim oUeb as Object 'Die übertragbaren Daten
Dim oSheet0 as Object, oSheet6 as Object 'Tabellenblatt
Dim oRange as Object 'Zellbereich
Dim oBuchhaltung as Object 'Dokument
oBuchhaltung=ThisComponent
'xray oBuchhaltung
oSheet6=oBuchhaltung.getSheets().getByIndex(6)
'xray oSheet
oRange = oSheet6.getCellRangeByName("C3:C4")
'xray oRange
oBuchhaltung.CurrentController.select(oRange)
oUeb = oBuchhaltung.CurrentController.getTransferable()
'xray oUeb
oSheet0=oBuchhaltung.getSheets().getByIndex(0)
oRange = oSheet0.getCellRangeByName("B14")
oBuchhaltung.CurrentController.select(oRange)
oBuchhaltung.CurrentController.insertTransferable(oUeb)
End Sub
Ausserdem setze ich in die erste Zeile des Makros die Anweisung "
Option Explicit", dadurch
wird man gezwungen richtig zu deklarieren und alle Varaiblen werden z.B. auf die korrekte
schreibweise und den korrekten Datentyp hin geprüft.
Installiere Dir das Xray-Tool zwecks Codeinspektion.
Ebenfalls erhältlich auf oben verlinter Seite. Es handelt sich dabei um ein Writer-Dokument, welches
die Makros zur Installations enthält und es ist gleichzeitig die Dokumentation zu Xray.
Nach der Installation lese unbedingt Seite 7 der Doku, dort wird beschrieben wie
Du Xray bei jedem Officestart automatisch laden kannst.
Die vielen
'xray ... in meinem Code sollen für Dich eine Hilfe sein, wie man Xray anwenden kann.
Entferne das Hochkomma vor Xray und starte das Makro, dann öffnet sich an der betreffenden
Stelle ein Xray-Fenster:
Hier zeigt Xray an, das "oUeb" ein Objekt ist, erkennbar darin, das die Variable
verschiedene Eigenschaften, Methoden, usw. beinhaltet.
Teste dies mit Xray:
Beachte, dass Methoden, Services, Interfaces, usw. ausgegraut sind.
Demnach ist diese Variable kein Objekt, Service oder Interface, welches man
per Konvention mit einem vorangestellten "o" kennzeichnen würde.