Con Geplaatst: 16 mei 2014 Geplaatst: 16 mei 2014 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.
The Iron Maiden Geplaatst: 16 mei 2014 Geplaatst: 16 mei 2014 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 --
Con Geplaatst: 16 mei 2014 Auteur Geplaatst: 16 mei 2014 (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. 16 mei 2014 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.
verkerkbr Geplaatst: 16 mei 2014 Geplaatst: 16 mei 2014 Je kun ook eens zoeken bij Open Office is vrijwel vergelijkbaar met Libre Office Microsoft Office-macro's gebruikenMicrosoft 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: Selecteer Extra->Opties->Laden/Opslaan->VBA-eigenschappen. (Op Mac OS X opent u het menu Voorkeuren). 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.
Con Geplaatst: 16 mei 2014 Auteur Geplaatst: 16 mei 2014 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.
verkerkbr Geplaatst: 16 mei 2014 Geplaatst: 16 mei 2014 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.
Con Geplaatst: 17 mei 2014 Auteur Geplaatst: 17 mei 2014 (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" 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. 17 mei 2014 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.
Aanbevolen berichten
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 accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen