書式設定の図に従って、文字列または数値を文字列に書式設定します。 スケーリングと書式設定に指定された単位を使用します。
構文
式。FormatResult (StringOrNumber, UnitsIn, UnitsOut, Format)
expressionApplication オブジェクトを 表す変数。
パラメーター
| 名前 | 必須 / オプション | データ型 | 説明 |
|---|---|---|---|
| StringOrNumber | 必須 | バリアント型 | 書式設定される文字列または数値です。文字列、浮動小数点数値、または整数として渡すことができます。 |
| UnitsIn | 必須 | バリアント型 | StringOrNumber の属性に対する寸法単位です。 |
| UnitsOut | 必須 | バリアント型 | 結果を示す寸法の単位です。 |
| Format | 必須 | String | 結果の文字列の外観を表す形式です。 |
戻り値
文字列
注釈
StringOrNumber を文字列として渡す場合、この引数には、セルの数式またはセルで使用する予定の数式、あるいは文字列として表されたセルの結果またはこのセルで使用する予定の結果を指定します。 FormatResult メソッドは文字列を評価し、その結果を書式設定します。 文字列は、特定のセルの数式があるコンテキストの外部から評価されるため、文字列にセル参照が含まれている場合、FormatResult メソッドはエラーを返します。
StringOrNumber には次のような値を使用できます。
- 1.7
- 3
- "2.5"
- "4.1 cm"
- "12 ft - 17 in. + (12 cm / SQRT(7))"
引数 UnitsIn および UnitsOut には、"inches"、"inch"、"in." などの文字列を指定できます。 センチメートル、メートル、マイルなど、Visio がサポートしているすべての単位の文字列を使用できます。 VisUnitCodes の Visio タイプ ライブラリで宣言されている単位定数も使用できます。 有効な単位の一覧は、「 測定単位について」にも含まれています。
StringOrNumber が文字列の場合、UnitsIn は評価結果の解釈方法を示し、結果がスカラーの場合にのみ使用されます。 たとえば、式 "4 * 5 cm" は 20 cm と評価されますが、これはスカラーではないため、 UnitsIn は無視されます。
"4 * 5"式は 20 と評価されます。これはスカラーであり、指定された UnitsIn を使用して解釈されます。
引数 UnitsOut は、戻り値を表す単位を指定します。 評価される式と同じ単位を使用する場合は、"NOCAST" または visNoCast を渡します。
Format は、FormatResult メソッドによって生成される文字列のテンプレートまたは形式を指定する文字列です。 詳細については、「FORMAT 関数」を参照してください。 設定可能な値の一部を次に示します。
#- 1 桁を出力しますが、先頭または末尾の 0 の場合は出力しません。0- 先頭または末尾の 0 であっても、1 桁の数字を出力します。.- 10 進数プレースホルダー。,- 桁区切り記号。"text"または'text'- 囲まれたテキストをそのまま出力します。\c- 文字 c を出力します。
例
文字列が指定されている場所。
' Prints 1.00
Debug.Print Application.FormatResult("0.5 * 2", "ft", "ft", "#.00 u")
' Prints 12.00 in.
Debug.Print Application.FormatResult("0.5 * 2", "ft", "in", "#.00 u")
' Prints .39 in.
Debug.Print Application.FormatResult("1 cm", "ft", "in", "#.00 u")
' Prints 1.00 cm.
Debug.Print Application.FormatResult("1 cm", "ft", "NOCAST", "#.00 u")
' Prints 0.39
Debug.Print Application.FormatResult("1 cm", "ft", "", "0.00 u")
' Prints 1858.06 sq. cm.
Debug.Print Application.FormatResult("1 sq. ft. * 2", "in^2", "cm^2", "0.00 u")
' Throws an exception because of bad measurement unit ("bz")
Debug.Print Application.FormatResult("1 cm", "ft", "bz", "#.00 u")
数値が指定されている場合。
' Prints 1.00
Debug.Print Application.FormatResult(1, "ft", "ft", "#.00 u")
' Prints 12.00 in.
Debug.Print Application.FormatResult(1, "ft", "in", "#.00 u")
' Prints .08 ft.
Debug.Print Application.FormatResult(1.0, "in", "ft", "#.00 u")
' Prints 12.00
Debug.Print Application.FormatResult(1.0, visFeet, "", "#.00 u")
' Throws an exception because of bad measurement unit ("bz")
Debug.Print Application.FormatResult(1, "bz", "in", "#.00 u")
次のマクロは、FormatResult メソッドを使用して値をセンチからインチに変換し、結果をメッセージ ボックスに表示する方法を示します。
Public Sub FormatResult_Example()
Dim strOldValue As String
Dim strNewValue As String
'Set old value.
strOldValue = "1 cm"
'Format value.
strNewValue = Application.FormatResult _
(strOldValue, "ft", "in", "#.00 u")
'Display new value.
MsgBox (strNewValue)
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。