OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

印刷時の数値データの右揃えについて

  • 暇なときにでも
  • 質問No.105175
  • 閲覧数126
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 64% (252/388)

印刷を行う場合に数値データの右揃えをしたいと思っています。
現在は、入力された数値の文字数をLen関数で取得してprinter.currentx と printer.currenty の数値を微妙に変えながら実行しています。
もっと簡単に右揃えする方法はあるのでしょうか。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2
レベル11

ベストアンサー率 40% (170/415)

はじめまして。
#1の方の回答されたとおりです。補足させていただきます。
こんなのでいかがでしょうか?

フォントは、必ず固定幅のものを指定して下さい。
(MS ゴシックなど)

------
Dim dblNum As Double '数値
Dim strPrn As String '印字用文字列
Dim intLen As Integer '印字する数の最大文字数

intLen = 14 '印字する数の最大文字数を入れる
dblNum = "12345678.6666" '数値の例

'文字列にしてやる → この「"#####0.000"」は任意です
'数値の範囲によっては動的に変えることが必要かもしれません
strPrn = Format(dblNum, "#####0.000")

If Len(strPrn) > intLen Then
'最大文字数を超えると不正な数値になります
'その場合の処理をここに書きます
MsgBox "長すぎ!"
strPrn = "over!"
Else
'前に空白を付けて、右から文字数ぶんをカットする
'(前に付ける空白の個数を計算する方法もあり)
strPrn = Right(String(intLen, " ") & strPrn, intLen)
End If

'このあと、位置を指定して strPrnをPrintしてください

-----
(字下げがきかなくて見にくいですが)
では!
お礼コメント
xiaolong_goo

お礼率 64% (252/388)

遅くなりましたが、ありがとうございました。
現在教えていただいた方法でコードと格闘中です。
投稿日時 - 2001-08-02 18:25:43
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル9

ベストアンサー率 48% (24/49)

詳しくはわからないのですが 出力する最大桁数を決めておいて スペースを頭に付加してあげる方法は、どうでしょう? ただしフォントとフォントサイズには、気をつけないとダメだと思いますが。 ...続きを読む
詳しくはわからないのですが
出力する最大桁数を決めておいて
スペースを頭に付加してあげる方法は、どうでしょう?
ただしフォントとフォントサイズには、気をつけないとダメだと思いますが。
お礼コメント
xiaolong_goo

お礼率 64% (252/388)

ありがとうございました。
スペースを付加する方法で現在格闘中です。
投稿日時 - 2001-08-02 18:26:39


このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ