Hallo
Wir sind hier kein Übersetzungbüro für lau!
Für was brauchst du das - bzw. was ist die eigentliche Aufgabe
Karolus
Übersetzung von VBA nach OOo
Moderator: Moderatoren
Re: Übersetzung von VBA nach OOo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Übersetzung von VBA nach OOo
Hallo
Ich erkenne durchaus daß das Ding vmtl. die erste freie Zelle in Spalte A findet und selektiert - nur dafür brauchts kein Makro - das geht auch direkt mit einer Calcfunktion namens =HYPERLINK("#A" &ANZAHL2(A1:A100000))
Ich fragte nach der eigentlichen Aufgabe nicht nach dem offensichtlichem.
Karolus
Ich erkenne durchaus daß das Ding vmtl. die erste freie Zelle in Spalte A findet und selektiert - nur dafür brauchts kein Makro - das geht auch direkt mit einer Calcfunktion namens =HYPERLINK("#A" &ANZAHL2(A1:A100000))
Ich fragte nach der eigentlichen Aufgabe nicht nach dem offensichtlichem.
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Re: Übersetzung von VBA nach OOo
Das kann du mit StarBasic realisieren, oder auch mit Python, wenn dir das lieber ist, und vermutlich auch mit Java…Gammaray hat geschrieben:nur der Schritt, in welchem das Makro die nächste freie Zelle in Spalte "A" findet und dort hinein springt. […] Mir wäre auch schon geholfen, wenn man mir einfach sagt: Calc, bzw. StarBasic kann das nicht
Tipp am Rande: http://www.dannenhoefer.de/faqstarbasic ... -Calc.html
Gruß
lorbass
Re: Übersetzung von VBA nach OOo
Dir ist schon klar das lorbass Dir das exakte Gegenteil gesagt hat? StarBasic ist in OO exakt das was in MS Office VBA ist.Geht eben doch nicht.
Ebenso enthält der Link von Lorbass die Routine nach der Du fragtest, nämlich die nächste freie Zelle ermitteln:
http://www.dannenhoefer.de/faqstarbasic ... l#Zweig214
Gruß
Stephan
Re: Übersetzung von VBA nach OOo
Hallo Gammaray,
Lorbass hatte dir schon zu recht einen sehr nützlichen Link gepostet, damit Du dich schon mal mit StarBasic beschäftigen kannst. Denn wenn Du von VBA nach StarBasic umsteigen willst(musst), ist es für dich sehr wichtig gewisse Grundkenntnisse von der für dich neuen Programmiersprache anzueignen. Auch wenn beide Sprachen bis zu einem gewissen Punkt gleich klingen, so sind es doch sprachlich zwei verschiedene Dialekte.
Hier mal ein einfaches Beispiel
Sache mal, sieh ich das richtig das Du trotz Makro noch zusätzlich mit der Calc-Funktion SVERWEIS() arbeitest? Wenn ich deine Schilderung vom Fr, 16.05.2014 18:19 so lese, muss ich zu dieser Vermutung kommen. Und sollte ich recht haben, dann frag ich mich nur: Warum nicht gleich alles per Makro erledigen?
Oder seh ich da was falsch?
Noch einen tipp wegen dem kopieren von einer Tabelle zur anderen; schau mal bei Dannenhöfer rein.
Gruß
balu
Was geht nicht?Geht eben doch nicht.
Lorbass hatte dir schon zu recht einen sehr nützlichen Link gepostet, damit Du dich schon mal mit StarBasic beschäftigen kannst. Denn wenn Du von VBA nach StarBasic umsteigen willst(musst), ist es für dich sehr wichtig gewisse Grundkenntnisse von der für dich neuen Programmiersprache anzueignen. Auch wenn beide Sprachen bis zu einem gewissen Punkt gleich klingen, so sind es doch sprachlich zwei verschiedene Dialekte.
Kann bestimmt gelöst werden. Und Calc wird das wohl schon schaffen, wenn Du es richtig programmiert hast (also nicht mit Makrorecorder aufzeichnest).Mir geht es hauptsächlich darum, ob mir jemand sagen kann, ob mein Problem überhaupt gelöst werden kann. Funktioniert das in Calc?
Mit ein bisschen logischem überlegen, und dann die passenden Suchbegriffe hättest Du schon eine Lösung dafür hier im Forum finden können. Logische Suchbegriffe wären gewesen: Letzte benutzte Zelle in Spalte.Wichtig ist mir eigentlich nur der Schritt, in welchem das Makro die nächste freie Zelle in Spalte "A" findet und dort hinein springt.
Hier mal ein einfaches Beispiel
Code: Alles auswählen
Sub Main
oDok = thisComponent
oTestSheet = oDok.sheets.getByName("Test")
With oTestSheet
x = .Columns(0).queryEmptyCells()
iLetzteZeile = x(x.Count-1).RangeAddress.StartRow + 1
End With
print iLetzteZeile
oTestSheet.getCellRangeByName("A" & iLetzteZeile).value = iLetzteZeile
End Sub
Ich wüsste nicht warum StarBasic das nicht kann.Mir wäre auch schon geholfen, wenn man mir einfach sagt: Calc, bzw. StarBasic kann das nicht, dann brächte ich mich auch nicht weiter um eine Lösung bemühen.
Häh, wie bitte!?Spalten-Verweise
Sache mal, sieh ich das richtig das Du trotz Makro noch zusätzlich mit der Calc-Funktion SVERWEIS() arbeitest? Wenn ich deine Schilderung vom Fr, 16.05.2014 18:19 so lese, muss ich zu dieser Vermutung kommen. Und sollte ich recht haben, dann frag ich mich nur: Warum nicht gleich alles per Makro erledigen?
Oder seh ich da was falsch?
Noch einen tipp wegen dem kopieren von einer Tabelle zur anderen; schau mal bei Dannenhöfer rein.
Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.
wehr rächtschraipfähler findet khan si behalden
wehr rächtschraipfähler findet khan si behalden

Re: Übersetzung von VBA nach OOo
ich habe vom Programmieren keine Ahnung
aber lesen kannst Du und mehr wäre hier nicht nötig gewesen
komisch das Du hier bezüglich OO das gleiche Vorgehen verweigerst und gegebene Hinweise auf eben solche Codeschnipsel ignorierst und stattdessen falsche Behauptungen (="Geht eben doch nicht") aufstellstund habe die Makroschnipsel von Excel auch nur zusammengetragen und mit Hilfe des Herbers-Excel Forums erstellt
das kommt wohl darauf an ob Du selbstständig sein willst oder abhängig. das ist bei Programmieren nicht anders als wie im realen Leben und es ist immer diegleiche Frage ob man die Bequemlichkeit, aber eben Abhängigkeit, bevorzugt sich Fische schenken zu lassen oder ob man sich ein Netz schenken lässt um abschliessend selbst fischen zu lernenaber wer hat mir nun wirklich geholfen?
Gruß
Stephan
Re: Übersetzung von VBA nach OOo
Hallo
@Balu: Du hast natürlich Recht - die Verweis-daten sollte man bei der Gelegenheit auch gleich abholen und eintragen.
Karolus
Schön, das du dich selbst auch noch ein wenig angestrengt hast - als Belohnung gibts einen Ansatz wie man das vernünftig lösen könnteVielen Dank für die Hilfe, habs hingebracht.
Code: Alles auswählen
def iterate(iterable):
iterable = iterable.createEnumeration()
while iterable.hasMoreElements():
yield iterable.nextElement()
def nextEmptyRow(cellrange):
emptys = cellrange.queryEmptyCells()
last = emptys.getByIndex( emptys.Count -1 )
return last.RangeAddress.StartRow
def getSelection( something_selected ):
sel = something_selected
try: # einzelne Zelle oder Zellbereich
data = tuple(entry
for entry in sel.DataArray
if entry[0] )
except AttributeError: # mehrere Zellen oder Bereiche
data = tuple(cell.DataArray[0]
for cell in iterate( sel.Cells )
if cell.DataArray[0])
return data
def main():
doc = XSCRIPTCONTEXT.getDocument()
sel = doc.CurrentSelection
data = getSelection(sel)-
sheetnames = [ 'Materialbestellung', 'Alle_Bestellungen' ]
for sname in sheetnames:
sheet = doc.Sheets.getByName( sname )
aCol = sheet.Columns.A
fRow = nextEmptyRow( aCol )
lRow = fRow + len( data ) -1
target = sheet.getCellRangeByPosition(0, fRow, 0, lRow)
target.setDataArray( data )
Karolus
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)