PowerShellスクリプトを使用してExcelブックを作成します。ワークブックは、2軸のチャートで構成されています。 1つの軸の数値書式は、ローカライズされたカスタムの日時形式に設定されます。文字列変数からExcel番号形式を割り当てる
標準フォーマットが長い日付形式の短いバージョンとして調製される:スクリプトが自動的に作成された軸のNumberFormatのメンバーを評価したNumberFormatがすでにローカライズされている場合は、別の文字列を使用しています
[string]$fmt = "MM/dd hh:mm"
:
$axis.TickLabels.NumberFormat = $fmt
01:
if ($axis.TickLabels.NumberFormat.Contains("JJJJ")) {
$fmt = "TT.MM. hh:mm"
}
最後に、スクリプトは、軸部材に文字列を代入しようとし
しかし、この形式は軸オブジェクトで受け入れられません。私が値を読み取った場合、私は「標準」を取得します。
$fmt = $axis.TickLabels.NumberFormat
$axis.TickLabels.NumberFormat = $fmt
がどのようにカスタムの日付時刻形式を設定することができます。
であっても、このコードは、標準の数値書式をリセットしますか?
編集: DE-DE "はTT.MM.JJJJのHH:MM" で局在化のための標準の日時形式。チャートが作成されている場合、Excelはこれをデフォルトとして使用します。その形式は、Excelのローカリゼーションでは不明な場合でもDE-DEに有効です。
$axis.TickLabels.NumberFormatLocal = $fmt
この数字の形式は「TT.MM」です。 hh:mm'、Excelでは有効な形式ではありません。 – cyboashu
@cyboashuあなたのコメントは、ローカライズされていない(またはen-US)バージョンのExcelでは適切です。表示言語が別の値に設定されている場合は、他の有効な書式文字列を取得できます。 – harper
@cyboashu GUIでこれを入力した場合、その日時は「27.12。13:45」と表示されます。しかし、スクリプトで設定する必要があります。 – harper