none
Einstellung des genutzten NumberFormats in Excel

    Allgemeine Diskussion

  • Hallo zusammen,

    der Bertreff beschreibt mein Problem nicht wirklich, es geht aber auch nicht in einer Zeile :(

    Also wir haben eine Anwendung die Daten per COM Automation nach Excel exportiert. Dabei sollen bestimmte Spalten eben im Datumsformat angezeigt werden.

    Bisher nutzten wir mExcel.Selection.NumberFormat = "TT.MM.JJJJ"

    Seit neustem bringt es allerdings die Fehlermeldung, dass das Range-Objekt nicht gesetzt werden kann. Ändern wir die Eigenschaft auf NumberFormatLocal funktioniert das. Auch die Ausgabe stimmt soweit.

    Allerdings haben wir noch ein paar Rechner auf denen auch der "falsche" Code funktioniert. Und jetzt möchte ich gerne Wissen warum es auf manchen Rechnern klappt und auf manchen nicht. Alle haben lediglich die deutsche Excel-Version.

    Das Problem ist, dass dieser "falsche" Code bei allen Kunden bereits seit n Versionen ausgeliefert ist und wir nun zum erstem Mal ein Problem damit bekommen haben. Jetzt haben wir auch firmenintern gemerkt, das es einige Rechner gibt, die es nicht mehr so umsetzen wie früher.

    Und bevor wir nun den Code anpassenund n Kunden ein Hotfix zukommen lassen, wüsste ich eben gerne, ob/wie man dieses Verhalten vom System her beinflussen kann. Denn an irgendetwas muss Excel seine Formate ja festmachen...

    Dieses Problem ist übrigens in den Versionen 2003 - 2007 beobachtet worden. Andere Versionen sind noch nicht geprüft.

    Danke für eure Hilfe

    Björn

     

    Donnerstag, 19. Januar 2012 10:51

Alle Antworten

  • Hallo Björn,

    es kann sein, dass die Rechner, wo es nicht mehr funktioniert, englische oder nicht-deutsche Windows Regional Einstellung fürs Datum haben:

     

     

    Viele Grüße,

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Donnerstag, 19. Januar 2012 13:25
  • Hallo Bogdan,

    das ist leider nicht der Grund. Wir haben jetzt hier nochmal weiter getestet und festgestellt, dass die ersten testaussagen der Kollegen nicht ganz stimmten. Es waren alte Releasestände die funktionierten. Die neue Version funktioniert nicht mehr. Unterschied: Früher basierte die Software auf .NET 2.0 jetzt, seit 1 Monat (noch nicht ausgeliefert) auf .NET 4.0.

    Und auf Maschinen wo beides drauf ist, bringen beide Release (basierend auf an der Stelle identischem Code) verschiedene Ergebnisse. Es schein also daran zu liegen ob man eine .NET 2.0 oder .NET 4.0 Anwendung erstellt.

    Jetzt stellt sich nur die Frage wie man darauf kommen soll, ohne es durch Zufall selber zu entdecken. Und gibt es dennoch eine Möglichkeit dies im System umzustellen?

    Ich berichte weiter, wenn ich was erfahre...

     

    Gruß

    Björn

    Donnerstag, 19. Januar 2012 13:46
  • Hallo Björn,

    schwierig. Sind alle Maschinen mit dem letzten Office Service Pack (Office 2003 SP3 oder Office 2007 SP3) ausgestattet?

    Aber hier mExcel.Selection.NumberFormat = "TT.MM.JJJJ" ist die Formatierung nicht empfehlenswert eingesetzt. Die englische Formatierungszeichenkette sollte problemlos auf allen Systemen funktionieren mExcel.Selection.NumberFormat = "dd.mm.yyyy"

    Viele Grüße,

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Dienstag, 24. Januar 2012 08:56
  • Hallo Björn,

    Hast Du eine Lösung gefunden? Vielen Dank!

    VG/Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Dienstag, 31. Januar 2012 10:15