Ga naar inhoud


Aanbevolen berichten

Geplaatst:

Doordat ik ben overgestapt naar Linux (Mint) ben ik genoodzaakt

om Libre-office te gebruiken.

 

Ik heb veel Excel makros's geschreven die niet één op één werken

in Libre-office, deels heb ik het herschreven maar één ding ben

ik nog niet uit.

 

Ik opende in excel, via een makro, een csv-file, haalde daar data

(getallen) uit plakte ze in Excel en ging ermee aan de gang.

 

Ik heb geen notie wat ik moet wijzigen in Libre-office om hetzelfde

te krijgen.

 

Ik heb op voorhand geen details gegeven omdat, als niemand hier sowieso

kennis in heeft hebben details uiteraard geen zin.

 

Dus wie weet hie je in een Libre-office makro data kunt binnenhalen

vanuit een csv- of andere Excelbestand?

 

Internet bood mij geen oplossing omdat (alweer) mijn Engels niet "je dat" is.

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds november 2023 glasvezel via Solcon (voor het laatst).

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

PC: Intel Nuc i7 met W11. Laptop Thinkpad met W11.

Asus Gigabyte Home Assistant, 20 Shelly's en 2 ESP-tjes en Zigbee.


Geplaatst:

Kun je met LibreOffice geen macro's opnemen en vervolgens de broncode bewerken. Zo heb ik ook excel macro's aangepast.

Dan kun je in ieder geval het verschil zien tussen beide versies.

 

mvg,

The Iron Maiden

VU+ duo met OpenPli, CCam 2.11 op 78 cm triax wok en multiblock op Astra 19.2, 23.5 en 28.2

 

-- Hier had uw reclame kunnen staan --

Geplaatst: (aangepast)

Helaas, dat heb ik geprobeerd maar is me niet gelukt.

Weet je, ik ga dat toch nog een keer een kans geven.

 

iet gelukt, laat ik even wat zien, eerst de macro in Excel, die zoek op de

harde schijf naar de maand, welke bestaat uit ongeveer 30 dagen en iedere

dag wordt apaprt geladen en onder elkaar gezet.

Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Sub makro1()

'Growatt bestanden laden per maand
Map = "Feb 2014"
bestand = "BW30912877 - 2014-02-"
ndagen = 28

Workbooks.Open Filename:="D:\Energie\Growatt\" & Map & "\" & bestand & "01.xls"
Range("a1:ai500").Copy Workbooks("Growatt csv 2 txt.xlsm").Sheets(Map).Range("A1")
Range("A1").Select
Workbooks(bestand & "01.xls").Close
Application.CutCopyMode = False

For a = 2 To ndagen
R = Range("A:A").End(xlDown).Row
If Len(a) < 2 Then dag = "0" & a Else dag = a
Workbooks.Open Filename:="D:\Energie\Growatt\" & Map & "\" & bestand & dag & ".xls"
Range("a2:ai500").Copy Workbooks("Growatt csv 2 txt.xlsm").Sheets(Map).Range("A" & R + 1)
Range("A1").Select
Workbooks(bestand & dag & ".xls").Close
Application.CutCopyMode = False
Next

End Sub

Als ik in Libre-office een macro opneem en deze start, dan ga ik vervolgens naar de juiste

harde schijf, de directory open de betreffende datafile,kopieer het blad en plak dat in de

sheet waar ik dit wil hebben en dan krijg je deze code;

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$B$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args2())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())

rem ----------------------------------------------------------------------
dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "ToPoint"
args4(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args4())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())


end sub

Je hebt dus geen notie hoe je de 30 bestanden moet noemen om ze één voor één binnen te halen.

aangepast door Con

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds november 2023 glasvezel via Solcon (voor het laatst).

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

PC: Intel Nuc i7 met W11. Laptop Thinkpad met W11.

Asus Gigabyte Home Assistant, 20 Shelly's en 2 ESP-tjes en Zigbee.

Geplaatst:

Je kun ook eens zoeken bij Open Office is vrijwel vergelijkbaar met Libre Office

 

Microsoft Office-macro's gebruiken

Microsoft Office-macro's kunnen niet onmiddellijk in Oracle Open Office worden uitgevoerd vanwege een aantal belangrijke verschillen tussen de programmeertalen van de twee producten. Oracle Open Office kan echter wel sommige Microsoft Excel-macro's uitvoeren. Wanneer u een Microsoft Office-document opent dat een macro bevat, wordt de macrocode van het Microsoft Office-document geladen in Oracle Open Office, maar is deze uitgeschakeld.

Voor Excel-documenten kunt u de code inschakelen om deze uitvoerbaar te maken:

  1. Selecteer Extra->Opties->Laden/Opslaan->VBA-eigenschappen. (Op Mac OS X opent u het menu Voorkeuren).

  2. Schakel het selectievakje Uitvoerbare code in.

Wanneer u een Excel-document opent dat een macro bevat, wordt de code nu ingeschakeld. Als u niet zeker weet wat een macro in een Excel-document doet, schakel dan het selectievakje Uitvoerbare code uit voordat u het document opent in Oracle Open Office. Op die manier kunt u de code eerst onderzoeken voordat deze wordt uitgevoerd.

Niet alle code in een Excel-macro wordt uitgevoerd in Oracle Open Office Calc. U moet mogelijk handmatig enkele wijzigingen aanbrengen. Klik in Calc op Extra->Macro's->Macro's beheren->Oracle Open Office Basic, selecteer de macro die u wilt wijzigen en klik op Bewerken.

Notitie –

Als u nog nooit met macrocode hebt gewerkt, wees dan heel voorzichtig met het aanbrengen van wijzigingen. Als u niet zeker weet wat u doet, breng dan geen wijzigingen aan! Mogelijk moet u deze macro's doorgeven aan uw IT-team voor verdere ontwikkeling.

  • Verder is er een groot aantal artikelen inzake het gebruik van macro's in Open Office.
  •  
Geplaatst:

Beste verkerbr,

 

Bedankt voor je reactie, ik heb uiteraard Libre-office omdat dat standaard in Mint zat.

Ik zal Open-office eens een kans geven immers, niet geschoten is altijd mis.

 

Wordt vervolgd, want ik loop al twee manden achter met mijn grafieken . . . .

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds november 2023 glasvezel via Solcon (voor het laatst).

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

PC: Intel Nuc i7 met W11. Laptop Thinkpad met W11.

Asus Gigabyte Home Assistant, 20 Shelly's en 2 ESP-tjes en Zigbee.

Geplaatst:

Libreoffice en Open Office zijn vrijwel identiek en komen uit dezelfde oorsprong namelijk OpenOffice.

 

Maar omdat OpenOffice is terecht gekomen bij Oracle, hadden daar een aantal ontwikkelaars grote moeite mee en zijn als z.g. vork verder gegaan onder de naam LibreOffice. Je kunt waarschijnlijk alles wat er geschreven staat voor de toepassing met OpenOffice ook gebruiken voor LibreOffice.

 

LibreOffice is tegenwoordig de standaard Office Suite die bij een Linux distributie wordt geleverd en is niet gelieerd aan een groot concern zoals Oracle.

Geplaatst: (aangepast)

Ik heb OOO geïnstalleerd maar kwam daar niet verder mee.

 

Ik heb de recorder gestart, en toen in mijn aparte harde schijf gegaan naar de

juiste directory, vervolgens de sudirectory en de file geopend. Voorts het blad

gekopieerd, geplakt in OOO en de recorder afgesloten. Zie hier het resultaat

 

ik zeg niegoenie, de macro laat volledig het pad los, dat wordt totaal niet genoemd.

Eigenlijk is de macro van "het padje af"  :grin:

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$A$6"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

rem ----------------------------------------------------------------------
dim args2(0) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ToPoint"
args2(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args2())

rem ----------------------------------------------------------------------
dim args3(0) as new com.sun.star.beans.PropertyValue
args3(0).Name = "ToPoint"
args3(0).Value = "$A$1"

dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())


end sub

Maar nu . . . kweetut ff niet.

aangepast door Con

Groet, Con. Gloeiende, gloeiende, een beetje humor moet kunnen, anders ga je maar ergens anders heen..
Sinds november 2023 glasvezel via Solcon (voor het laatst).

Internet/PC: modem/router Fritzbox en TP-Link accesspoint, switch (8), switch (4)

PC: Intel Nuc i7 met W11. Laptop Thinkpad met W11.

Asus Gigabyte Home Assistant, 20 Shelly's en 2 ESP-tjes en Zigbee.

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...