Application.FormatResult メソッド (Visio)
書式図に従って、文字列または数値を文字列に書式設定します。 スケーリングと書式設定に指定した単位を使用します。
構文
式。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 のサポートおよびフィードバックを参照してください。