CopyRange... Wo ist der Fehler?

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: CopyRange... Wo ist der Fehler?

Re: CopyRange... Wo ist der Fehler?

von Karolus » Di, 18.09.2012 12:56

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

Re: CopyRange... Wo ist der Fehler?

von diamondialis » Di, 18.09.2012 10:26

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? >,<

Re: CopyRange... Wo ist der Fehler?

von Karolus » Di, 18.09.2012 10:02

Hallo

NEB_PasteAdr = NEB_PasteRow.getCellAddress

Karolus

Re: CopyRange... Wo ist der Fehler?

von diamondialis » Di, 18.09.2012 09:52

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

Re: CopyRange... Wo ist der Fehler?

von TrueColor » Mo, 10.09.2012 15:07

"Code für anderes Makro aufrufen"
CALL macro_2

Zu deinem ersten Problem kann ich dir leider nicht helfen, tut mir leid :-(

CopyRange... Wo ist der Fehler?

von diamondialis » So, 09.09.2012 16:00

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

Nach oben