CopyRange... Wo ist der Fehler?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

diamondialis
*
Beiträge: 19
Registriert: Mo, 19.12.2011 22:24

CopyRange... Wo ist der Fehler?

Beitrag von diamondialis »

Hallo allerseits ;)

Ich hab mir ein Makro zusammengezimmert, das eigendlich die Daten aus einem Formular and Ende des aktuellen Tabellenblattes schreiben soll...
Allerdings funktioniert irgendetwas nicht, was ich nicht so ganz verstehe.

Hier mal der Code:

Code: Alles auswählen

Sub SR_NEB_Local
NEB_Doc      = ThisComponent
'NEB_Sheet    = ThisComponent.Sheets.GetByName("09.12")
NEB_Sheet    = NEB_Doc.CurrentController.ActiveSheet
NEB_Cursor   = NEB_Sheet.CreateCursor
NEB_Cursor.GotoEndOfUsedArea(False)
NEB_EmptyRow = NEB_Cursor.GetRangeAddress().EndRow + 1
NEB_NewRow   = NEB_Sheet.GetRows
NEB_NewRow.InsertByIndex(NEB_EmptyRow,1)
NEB_CopyRow  = NEB_Sheet.GetCellRangeByName("A8:V8")
'NEB_CopyAdr  = NEB_CopyRow.getRangeAddress
NEB_DataRow  = NEB_EmptyRow + 1
NEB_PasteRow = NEB_Sheet.GetCellRangeByName("A"+NEB_DataRow+":V"+NEB_DataRow)
'NEB_PasteAdr = NEB_PasteRow.getRangeAddress
NEB_Sheet.CopyRange(NEB_PasteRow,NEB_CopyRow)
In der letzten Zeile wird der Fehler:
BASIC-Laufzeitfehler.
Es ist eine Exception aufgetreten.
Type: com.sun.star.lang.Illegal ArgumentException
Message: cannot coerce argument type during corereflection call!.
Was hab ich falsch gemacht?

Vielen Dank schonmal für eure Hilfe!


Oh, und noch eine Frage:
Wenn ich zwei Buttons hab, die beide das gleiche Makro starten, aber nur beim zweiten ein weiteres Makro getriggert werden soll... wie war nochmal der Code dafür? Hatte das irgendwo gesehen, finde es aber nichtmehr..
alla:

Code: Alles auswählen

Sub Makro1
...
If Actor Button = Button_1
    End Sub
"Code für anderes Makro aufrufen"
End Sub
LG,
dia
TrueColor
******
Beiträge: 547
Registriert: Do, 11.03.2010 11:23

Re: CopyRange... Wo ist der Fehler?

Beitrag von TrueColor »

"Code für anderes Makro aufrufen"
CALL macro_2

Zu deinem ersten Problem kann ich dir leider nicht helfen, tut mir leid :-(
System:
LibO 6 + LibO 7
diamondialis
*
Beiträge: 19
Registriert: Mo, 19.12.2011 22:24

Re: CopyRange... Wo ist der Fehler?

Beitrag von diamondialis »

Ich hatte leider die letzte Woche keine Zeit, wegen Arbeit etc. darum konnte ich mich nichtmehr drum kümmern, aber das Problem besteht leider nach wie vor:

Code: Alles auswählen

Sub SR_NEB_Local
NEB_Doc      = ThisComponent
NEB_Sheet    = NEB_Doc.CurrentController.ActiveSheet
NEB_Cursor   = NEB_Sheet.CreateCursor
NEB_Cursor.GotoEndOfUsedArea(False)
NEB_EmptyRow = NEB_Cursor.GetRangeAddress().EndRow + 1
NEB_DataRow  = NEB_EmptyRow + 1
NEB_NewRow   = NEB_Sheet.GetRows
NEB_NewRow.InsertByIndex(NEB_EmptyRow,1)
NEB_CopyRow  = NEB_Sheet.GetCellRangeByPosition(0,7,21,7)
NEB_CopyAdr  = NEB_CopyRow.getRangeAddress
NEB_PasteRow = NEB_Sheet.GetCellByPosition(0,NEB_DataRow)
NEB_PasteAdr = NEB_PasteRow.getRangeAddress
NEB_Sheet.CopyRange(NEB_PasteAdr,NEB_CopyAdr)
Letzte Zeile gibt oben genannten Fehler aus =( und ich verstehe es nicht.

Ich bitte daher weiterhin um Hilfe ;)

Vielen Dank,
dia
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: CopyRange... Wo ist der Fehler?

Beitrag von Karolus »

Hallo

NEB_PasteAdr = NEB_PasteRow.getCellAddress

Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
diamondialis
*
Beiträge: 19
Registriert: Mo, 19.12.2011 22:24

Re: CopyRange... Wo ist der Fehler?

Beitrag von diamondialis »

meh >,< übersehen xD

Danke ;)

Jetzt häng ich an der nächsten Zeile fest...

In der geht es um das Einfügen der Daten aus dem Formular...

Code: Alles auswählen

NEB_Sheet.GetCellByPosition(1,NEB_DataRow).FormulaLocal = Dia_NE.getControl("Dia_NE_Land")
Soll aus dem Dialog "Dia_NE" der über das Makro

Code: Alles auswählen

Sub SR_NE_Dia
DialogLibraries.LoadLibrary("Standard")
NE_Dia = CreateUnoDialog(DialogLibraries.Standard.Dia_NE)
NE_Dia.Execute
End Sub
gestartet wird, das Textfeld "Dia_NE_Land" auslesen und in Spalte B der neuen Zeile von oben einfügen...

Es taucht aber wieder ein unbekannter Fehler auf (steht nichts da)

Was ist jetzt schon wieder verkehrt? >,<
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Re: CopyRange... Wo ist der Fehler?

Beitrag von Karolus »

Hallo

NEB_Sheet.GetCellByPosition(1,NEB_DataRow).FormulaLocal = Dia_NE.getControl("Dia_NE_Land").Text

Karolus

Ps. Es wäre vernünftiger , Mri oder XRAY zu installieren und zu benutzen !!!

http://extensions.services.openoffice.o ... roject/MRI
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten