Textbox wandelt 0001 in 1 um

Hallo liebe Gemeinde,

ich lese Nummern aus einer Excel datei aus, welches ohne Probleme funktioniert. Wenn ich jedoch einen
Wert in meiner Excel Datei habe z.B.: 0001, wird dieser Wert nicht in meine Textbox eins zu eins übernommen,
sondern kürzt die Nullen und schreibt nur den Wert 1.
Gibt es eine Möglichkeit, das ich den exakten Wert in meine Textbox übernehmen kann?

Wäre für jeden Tip dankbar.
 
Hallo,

wandelst du das 0001 erst in eine Zahl?
Lass es doch als String, dann sollte nichts abgeschnitten werden.

Ich denke nicht, das es an der TextBox selbst liegt.
Das Problem dürfte vorher schon auftauchen.
 
Hallo,

die Zahl 0001 ist schon so in Excel. Ich verstehe auch nicht warum die Textbox die Nullen wegkürzt.
Hier ist der Code:
HTML:
Dim obook As Object = oexcel.workbooks.open("C:Register\AU01 Motor Register") 
            Dim osheet As Object = obook.worksheets(1)
            ' obook.workbooks(1).unprotect()
            Dim n As string = 1
            'Dim n As Integer = 1
            Dim cell As String
            Dim testdata As String
            obook.worksheets(1).unprotect()
           While True
                cell = "A" + Trim(Str(n))
                If osheet.range(cell).value = "" Then Exit While
                n += 1
            End While

cell = "C" + Trim(Str(n - 1))
            testdata = osheet.range(cell).value.ToString
            TextBox6.Text = testdata 
cell = "C" + Trim(Str(n))
            TextBox6.Text = TextBox6.Text + "1"
            osheet.range(cell).value = TextBox6.Text


Für jede Anregung wäre ich Dankbar.
 
Zuletzt bearbeitet:
Die Zelle hat wohl zusätzliche 0-Stellen abbekommen. So ohne weiteres kannst du das nicht reproduzieren. osheet.range(cell).value wird ein Integer sein, der in deinem Fall den Wert 1 hat. ToString wird dann auch entsprechend "1" liefern, warum sollte es auch "0001" daraus machen? Wenn du immer vier Stellen möchtest kannst du ToString("D4") verwenden. Besser wäre es herauszufinden, was für Eigenschaften die Zelle (z.B. wie viele führende Nullen) hat und welchen Typ der Wert hat und dann dynamisch den richtigen Formatspezifizierer zu verwenden.

Siehe Hier
 
Hallo,

danke fuer den Tip, habe es durch deinen link geschafft.

Habe folgenden code benutzt

HTML:
 Dim thenullformat As Integer = TextBox6.Text
            TextBox6.Text = thenullformat.ToString("00000")
 
bin nun auf ein neues Problem gestossen und zwar sobald ich in den 11 stelligen Bereich gehe, bekomme
ich eine Fehlermeldung im folgenden Code

HTML:
Dim theDate As Integer = TextBox6.Text

Der Fehler lautet:
OverflowException wurde nicht behandelt.
Arithmetic operation result in overflow.

Ich dachte ih koennte das ganze leicht loesen indem ich in Properties unter Compile Tab und Advanced Compiler Operation,
das haeckchen "Remove Integer Overflow Checks" auswaehle.

Leider bleibt das problem bestehen. Wie kann ich dieses Problem loesen?
 
Der Datetyp Integer kann nunmal nicht so grosse Werte aufnehmen. Nimm einen gröseren (mit mehr Speicherverbrauch). Aber auch da wirst du mal an die Grenze kommen.
 
bin nun auf ein neues Problem gestossen und zwar sobald ich in den 11 stelligen Bereich gehe, bekomme
ich eine Fehlermeldung im folgenden Code

HTML:
Dim theDate As Integer = TextBox6.Text

Der Fehler lautet:
OverflowException wurde nicht behandelt.
Arithmetic operation result in overflow.

Ich dachte ih koennte das ganze leicht loesen indem ich in Properties unter Compile Tab und Advanced Compiler Operation,
das haeckchen "Remove Integer Overflow Checks" auswaehle.

Leider bleibt das problem bestehen. Wie kann ich dieses Problem loesen?
 
Hallo,

ja ich weiss auch nicht warum das zweimal gepostet worden war. Hatte die Arbeit bereits verlassen gehabt waehrend der Computer noch meine Antwort geladen hatte.

Wie auch immer, gibt es denn noch eine andere Moeglichkeit dieses Problem zu umgehen.
Bis wie weit kann ich denn die Zahl erweitern, maximal?
 

Neue Beiträge

Zurück