として読まれている:THYSSセルのフォーマットは、一般的な
は、それから私は、時間と、そのセルの書式を設定し、使用してフォーマット名をお読みください。
workSheet.Cellsをセルで
THYSSが表示され、[ROWNUMBER、start.Column]は
それは文字列を返す ":ミリメートルのSS \のAM/PM [$ -F400] h" を.Style.Numberformat.Format 。
Fxバーに「THYSS」と表示されます。
すべてが妥当で予想通りです。私のようにセルの内容を持っている場合は
しかし、:1.7063
それから私は、時間と、そのセルの書式を設定し、使用してフォーマット名をお読みください。
workSheet.Cells [ROWNUMBER、start.Column] .Style.Numberformat.Format
それは「一般的な」
とセル午後04時57分04秒には、表示される文字列を返します。 Fxバーに01/01/1900 16:57:04が表示されます。
なぜ一般的なものを返すのですか?!?!?!?!?!?!?
私は、スプレッドシートにどのセルにもフォーマットがないことを確認しようとしています。フォーマットしていれば、ユーザーに修正を知らせる必要があります。
P.S.私は今、一般的にフォーマットを設定ところで場合は、セルの内容は今魔法のこのような1.7062962962963
私のコメントを説明できるようになったことが数までの一般的なように、それは、番号の形式に設定されています書式設定が適用されていると思うhttps://support.office.com/en-gb/article/Available-number-formats-0afe8f52-97db-41f1-b972-4b46e9f1e8d2 –
@ Nathan_Savあなたが言っていることがここに当てはまる場合は、 1.7063はNumberformat.FormatはTime、Text(Timeフォーマットは)はNumberformat.FormatがGeneral ...と言っていました。いいえ、Timeと設定されています...セルの内容がテキストの場合はNumberformat .Formatは言う[$ -F400] h:mm:ss \ AM/PMただし、セルの内容が1.7063の小数である場合、Numberformat.FormatはGeneral ... erm wtf?!?!?! –
多分Excelを調整していると思います。あなたが時間形式でテストするのであれば、以下のように '? typename(activecell.value)、typename(activecell.text) 'セルの正午12:00:00と同じ' String String'を取得すると、あなたは 'Double String'を偶発的に取得し、どちらも日付型ではありません。だから私は数値の形式は、テキスト値によって決定され、それに応じて、表現することはできませんが調整されると言うでしょう。 '99:99:00'は書式規約(ish)に準拠しますが、テキストエントリとして返されます。 –