Landinstellingen automatisch wijzigen (punt/komma)

Status
Niet open voor verdere reacties.

Gerben84

Gebruiker
Lid geworden
19 feb 2006
Berichten
57
Hoi ik heb het volgende probleem.

Ik heb een excel bestand aangemaakt met een groot aanal macro's die acties uitvoeren waarbij uitgegaan wordt dat de , als scheidingsteken voor decimalen gebruikt wordt (dus op zn nederlands). Mijn collega wil echter het bestand ook gebruiken, deze heeft echter de landinstellingen van zijn besturingssysteem anders ingesteld waardoor het bestand niet goed werkt.

Nu weet ik wel hoe je handmatig de instellingen kunt wijzigen in het configuratiescherm, (configuratiescherm>Datum, tijd en landinstellingen>de notatie van getallen, datums en tijden wijzigen> Tab Landinstellingen>Aanpassen>Tab Getallen) maar ik zou liever zien dat deze instellingen automatisch bij openen bij excel juist worden ingesteld, en na sluiten weer worden teruggezet.

Is dat mogelijk? Misschien iemand een macro hiervoor?

Bij voorbaat dank!
 
Laatst bewerkt:
Onderstaande code heb ik zelf al eens gebruikt voor het aansturen van een grafiek :

Code:
If Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDEnglishUK) Then
    ActiveSheet.ChartObjects("Chart 12").Activate
ElseIf Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDDutch) Then
    ActiveSheet.ChartObjects("Grafiek 12").Activate
ElseIf Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDGerman) Then
    ActiveSheet.ChartObjects("Diagramm 12").Activate
ElseIf Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDFrench) Then
    ActiveSheet.ChartObjects("Graphique 12").Activate
ElseIf Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDSpanish) Then
    ActiveSheet.ChartObjects("Gráfico 12").Activate
End If


Even sleutelen en het is gebruiksklaar !
 
Onderstaande code heb ik zelf al eens gebruikt voor het aansturen van een grafiek :

Code:
If Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDEnglishUK) Then
    ActiveSheet.ChartObjects("Chart 12").Activate
ElseIf Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDDutch) Then
    ActiveSheet.ChartObjects("Grafiek 12").Activate
ElseIf Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDGerman) Then
    ActiveSheet.ChartObjects("Diagramm 12").Activate
ElseIf Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDFrench) Then
    ActiveSheet.ChartObjects("Graphique 12").Activate
ElseIf Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDSpanish) Then
    ActiveSheet.ChartObjects("Gráfico 12").Activate
End If


Even sleutelen en het is gebruiksklaar !


Ik kom er nog niet helemaal uit..

Zoiets heb ik er van gemaakt, want ik wil de taalinstelling tijdelijk wijzigen (zolang het programma gerund wordt)

Code:
If Application.LanguageSettings.LanguagePreferredForEditing(msoLanguageIDDutch) Then
Application.LanguageSettings.LanguagePreferredForEditing (msoLanguageIDEnglishUK)
End If

Maar zo werkt helaas nog niet :rolleyes:
 
Waarvoor ben je de switch van punt en komma nodig ?

Nou dat zit zo; het model importeert gegevens uit een ander soort bestand waarbij de gegevens met een , als scheidingsteken geplaatst worden. Bij het systeem van mijn collega wordt dit echter herkent als een scheidingsteken voor duizendtallen.

Als ik zijn instellingen handmatig veranderd werkt het model perfect. Na afsluiten moet het systeem echter wel steeds weer teruggezet worden na zijn 'oude' instellingen ivm andere programmatuur op zijn pc.
 
Het inlezen van de gegevens doe je wellicht mbv VBA, daar kun je aangeven waarvoor de punt en komma gelden. Hiervoor kun je de code gebruiken die ik je eerder heb toegestuurd.

Met andere woorden, je verandert niet de systeeminstelling maar je leest de data net iets anders in.
 
Zie in de helpfiles bij

DecimalSeparator Property

Wigi
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan