Hvad betyder numberformat 109 ?

Brugerhjælp og support til makroer i LibreOffice Basic

Moderators: Lodahl, LarsBrandi

Post Reply
Ove Hansen
Posts: 37
Joined: Thu Dec 01, 2011 11:34

Hvad betyder numberformat 109 ?

Post by Ove Hansen » Wed Nov 02, 2016 14:35

I denne måneds nyhedsbrev er der et eksempel på oprettelse af en kalender i Calc. En af sætningerne er:
the_cell.NumberFormat=109
Hvad betyder sætningen og værdien?

Jeg mener, der er en fejl i makroen, idet der ikke bliver skrevet et tal for dagen, men kun ###.
Jeg kan få det til at virke, hvis jeg i stedet for the_cell.Value=the_date skriver: the_cell.Value=d
Venlig hilsen
Ove Steen Hansen

Jens S
Posts: 1091
Joined: Sun Mar 25, 2007 21:42

Re: Hvad betyder numberformat 109 ?

Post by Jens S » Wed Nov 02, 2016 17:57

Du kan kontrollere hvad NumberFormat = 109 betyder ved at markere en celle med en værdi og så køre denne lille makro:
[color=#40BF80]Sub Num
Nummer =ThisComponent.CurrentSelection
Nummer.NumberFormat = 109
End Sub[/color]
Tallet refererer til en intern formateringskode og så vidt jeg har undersøgt findes der ikke nogen for kun 'dagen'

[quote]Jeg mener, der er en fejl i makroen, idet der ikke bliver skrevet et tal for dagen, men kun ###.
Jeg kan få det til at virke, hvis jeg i stedet for the_cell.Value=the_date skriver: the_cell.Value=d[/quote]
Det er rigtig og slet bare linjen
the_cell.NumberFormat=109

Ove Hansen
Posts: 37
Joined: Thu Dec 01, 2011 11:34

Re: Hvad betyder numberformat 109 ?

Post by Ove Hansen » Wed Nov 02, 2016 18:18

Tusind tak for svaret.
Venlig hilsen
Ove Steen Hansen

User avatar
Lodahl
Posts: 1958
Joined: Wed Sep 14, 2005 7:27
Location: Storkøbenhavn
Contact:

Re: Hvad betyder numberformat 109 ?

Post by Lodahl » Thu Nov 03, 2016 19:42

NumberFormat=109 betyder "Kun dagen".
Jeg tror ikke der findes en komplet oversigt over alle koder, men jeg forsøgte mig frem.
1) Indtastede en dato i cellen.
2) Valgte Formater - Celler
3) Indtastede "dd" i formateringsfeltet
4) OK

Herefter lavede jeg en lille rutine og debuggede mig frem til resultatet 109.
Men det er lidt hokus-pokus med de interne hardkodede formater.

Forskellen mellem the_cell.Value=the_date og the_cell.Value=d er at den første indsætter datoen (og viser kun dagen) hvor den anden bare indsætter d, som er loop-tælleren (heltal). Men begge løsninger er rigtige løsninger.

Når du i regneark ser ###### så betyder det bare at cellen ikke er bred nok til at vise indholdet.

Jeg håber du har fået makroen til at virke.
Med venlig hilsen

Leif Lodahl
Blog: https://libreofficedk.blogspot.dk
LibreOffice: http://da.libreoffice.org

Ove Hansen
Posts: 37
Joined: Thu Dec 01, 2011 11:34

Re: Hvad betyder numberformat 109 ?

Post by Ove Hansen » Thu Nov 03, 2016 19:54

Tak for svaret. Makroen virker perfekt. Vh Ove
Venlig hilsen
Ove Steen Hansen

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests