- ベストアンサー
横書きの半角数字を、縦表示にしても,横に「・・・」と並べるには?
ARCの回答
- ARC
- ベストアンサー率46% (643/1383)
>実は…VBで具体的に記述していただけると、「!!!」でした。 ちょっと時間が空いたんで、実際に作ってみました。 フォームにピクチャボックス(Picture1),テキストボックス(Text1),ボタン(縦書きボタン)を配置して、以下のようにコーディングしてください。 Picture1のAutoRedrawはTrueに設定しときます。 テキスト中の$H(文字列)を縦中横表示します。 特殊書式の文法チェックとか、ピクチャボックス外にはみ出したときの処理とかは入ってません。 句読点の位置とかもおかしくなるんで、句読点についての処理も入れたほうがいいですね。 一応それなりにコメント入れましたが、不明点とかあったら補足してください。 **************************************************** Option Explicit Const MARGIN_TOP = 5 * 56.7 '上余白5mm Const MARGIN_RIGHT = 5 * 56.7 '右余白5mm Const LETTER_SPACING = 1 * 56.7 '字間1mm Const LINE_HEIGHT = 10 * 56.7 '行間10mm Private Sub Form_Load() Me.Text1 = "これは$H(123)円です。" End Sub Private Sub 縦書きボタン_Click() Dim Text As String Dim DrawChar As String Dim i As Long Dim x As Single, y As Single '字を書く座標(xは行の中心線) Dim StPos As Long, EdPos As Long '文字列内の位置情報 Text = Me.Text1 Me.Picture1.Cls Me.Picture1.FontName = "MS ゴシック" x = Me.Picture1.Width - MARGIN_RIGHT - (Me.Picture1.TextWidth("あ") / 2) y = MARGIN_TOP For i = 1 To Len(Text) DrawChar = "" '文字を一文字ずつ検査する。 Select Case Mid$(Text, i, 1) Case vbCr, vbLf '改行コード x = x - LINE_HEIGHT y = MARGIN_TOP If Mid$(Text, i + 1, 1) = vbLf Then i = i + 1 Case "$" '特殊書式 'TODO:異常な文法に対する処理を入れること Select Case Mid$(Text, i + 1, 1) Case "$" '"$$"は"$"一文字とみなす DrawChar = "$" i = i + 1 Case "H" '$H(文字列)は、文字列を縦中横表示 StPos = i + 3 EdPos = InStr(StPos, Text, ")", vbBinaryCompare) DrawChar = Mid$(Text, StPos, EdPos - StPos) i = EdPos Case Else'書式指定が間違ってる Debug.Assert True End Select Case Else '通常の文字 DrawChar = Mid$(Text, i, 1) End Select '文字を描画 If DrawChar <> "" Then With Me.Picture1 .CurrentX = x - (.TextWidth(DrawChar) / 2) .CurrentY = y Me.Picture1.Print DrawChar y = y + .TextHeight(DrawChar) + LETTER_SPACING End With End If Next i End Sub
関連するQ&A
- 縦書きで半角英数字を横書きにする
ワードにおいて、縦書きでの書式で、数字半角2文字だけを横文字で表記するやり方を教えて下さい。 例えば 20世紀 という標記では 20はこのように横標記で、世紀は縦書きになります。 10円から20円 という標記では、10と20は横標記で、他は縦書きになります。 縦書きのビジネス本なのでよく使われています。 よろしくお願い申し上げます。
- ベストアンサー
- Windows XP
- ワードの縦書きで、半角数字を縦表示にしたい
ワードで縦書きの原稿を作っています。 このときに、たとえば、 平成18年9月20日 を縦書きにした場合、全角のの「9」は縦表示になりますが、半角の「18」や「20」は横を向いてしまいます。 これらを正しく縦に表示させる方法はないでしょうか?
- ベストアンサー
- オフィス系ソフト
- ワードで縦中横をした文字の軸がズレる
ワード2003で文章を作成しています。 縦書きの文章で「!!」「10」などのように半角文字を二つ横に並べたものをそのまま表示するために縦中横を使うのですが、そうして表示されたものが、他の普通の縦書き文字と中心線(というかベースライン)がズレてしまいます(左に寄ってしまう)。 これをきっちり揃えてきれいに見せるにはどうすればいいのでしょうか。 宜しくお願いします。
- 締切済み
- オフィス系ソフト
- 縦書きにした時の数字を漢数字にしたい
ワード2010を使って文字列の方向が横の時に 半角の数字で書いたデータがあります。 このデータの文字列の方向を縦に変えると、 当然ですが、半角の数字だけ縦書きに変換されずに残っていて困っています。 できれば、この半角数字を漢数字に変えたいのですが、 方法がわかりません。 どなたかご教授のほど、宜しくお願いします。
- 締切済み
- Word(ワード)
- ワードで縦書き…縦中横について
「WORD2003」で縦書き文章を作成しています。途中「!?」「!!」などの半角組みの文字を打った時は、横になった文字をその都度「縦中横」で縦にしているのですが面倒です。一度にまとめてすることは出来ないでしょうか? お分かりの方、いらっしゃいましたら教えて下さい。
- ベストアンサー
- オフィス系ソフト
- 縦中横にした時の文字が少し下がることについて
いつもお世話になっております。 ワードの縦書きで半角数字2文字を縦中横にした時、画像のように少し下がってしまい、他の文字と頭のラインが合わなくなってしまいます。 こうならないように設定で合わせる方法は、あるのでしょうか。 ご教示方、よろしくお願いいたします。
- 締切済み
- Word(ワード)
- ワードの縦書きで2桁の数字を横に表示
例えば、6月23日を縦書きにするとき、6はそのまま表示できるのですが、 23が2の下に3がきてしまい、半角にすると、横を向いてしまいます。 数字のところだけ横書きにして、横幅もぴったりおさめたいです。 オートシェイプや表を使えばできない事もないですが、あまり綺麗ではないです。 縦書きでは漢字を使うのが正式ですが、読みにくいので使いたくないです。 ワープロではできたのに・・・ 縦書きで日付けの書いてあるチラシなどによくあるのに、基本や応用の本に載ってないのはなぜ~
- ベストアンサー
- オフィス系ソフト
- 縦書きで数字を横に並べて表示するには?
説明が悪くて申し訳ないのですが 例題をあげて質問いたしますので宜しく御願いいたします。 Word2002を使っています。 文字方向を縦書きにし、“平成14年”を入力するのですが この“14”の“1”と“4”が横に並んだ状態で表示したいのです。 何か方法があるのでしょうか? 宜しく御願いいたします。
- ベストアンサー
- オフィス系ソフト
- word差し込み印刷 半角カタカナ・数字→縦書き
word2010使用です。 差し込み印刷を使って封筒印刷を作成しています。 元データのExcelに全角かな・数字・アルファベット、半角カナ・数字・アルファベットが 入っている住所を縦書き印刷したいのです。 元データの管理をしているのは私ではない為ここは訂正できません。 数字を縦書きにするのは、差し込みフィールドのスイッチに「\v」を入れると言うのは わかり入れてみました。でもこれでは半角カナが横書きのままでした。 半角カナを全角縦にするには「\* DBCHAR」を入れるというのもわかりました。 でもこれだと半角「-」が横のままになりました。 どちらも縦書きに表示させる方法はありますか? 1日検索しましたが見つけられませんでした(ToT) よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
あまりにもご丁寧で・・・感激→ダウン気味(笑) ありがとうございました。