アプリ版:「スタンプのみでお礼する」機能のリリースについて

Accessのテーブルで、一部のフィールドに横向き数字を入力したいのですが、横向きフォント(@xxx)を選択すると、すべてのフィールドが
横向き文字になり困っています。どなたか良い方法を教えて下さい。
目的は、Accessで作成したデータをWordに転送し、横書きデータを縦書きに変換したとき、横向き数字を「縦中横」機能で修正する手間を省く
ためです。よろしくお願いします。

A 回答 (3件)

>Accessで作成したデータをWordに転送し、横書きデータを縦書きに変換したとき、横向き数字を「縦中横」機能で修正する手間を省く



「縦中横」はWordの機能なので、Wordのマクロで処理した方が良いと思います。

サンプル

Accessでは「縦中横」にしたい文字を #< ># で囲っておきます。

例 平安京遷都#<794>#年

それをWordに貼り付けて、Wordで下記のマクロを実行します。
マクロでは、#< ># で囲まれた文字を「縦中横」に設定して、
不要になった#< >#を削除しています。

Sub Macro1()
 Selection.HomeKey Unit:=wdStory
 Selection.Find.ClearFormatting
 Selection.Find.Replacement.ClearFormatting
 With Selection.Find
  .Text = "#\<(*)\>#"
  .Replacement.Text = "\1"
  .Forward = True
  .Wrap = wdFindContinue
  .Format = True
  .MatchCase = False
  .MatchWholeWord = False
  .MatchByte = False
  .MatchAllWordForms = False
  .MatchSoundsLike = False
  .MatchFuzzy = False
  .MatchWildcards = True
 End With
 Do While (Selection.Find.Execute)
  Selection.MoveStart wdCharacter, 2
  Selection.MoveEnd wdCharacter, -2
  Selection.Range.HorizontalInVertical = wdHorizontalInVerticalFitInLine
 Loop

 Selection.HomeKey Unit:=wdStory
 Selection.Find.ClearFormatting
 Selection.Find.Replacement.ClearFormatting
 With Selection.Find
  .Text = "#\<(*)\>#"
  .Replacement.Text = "\1"
  .Forward = True
  .Wrap = wdFindContinue
  .Format = False
  .MatchCase = False
  .MatchWholeWord = False
  .MatchByte = False
  .MatchAllWordForms = False
  .MatchSoundsLike = False
  .MatchFuzzy = False
  .MatchWildcards = True
 End With
 Selection.Find.Execute Replace:=wdReplaceAll
End Sub

こんな感じでどうでしょうか?
    • good
    • 0

テーブルじゃ当然でしょうね、フォームやレポートなら方法が無いことはないですが


もしやったとしても

>Wordに転送し、横書きデータを縦書きに変換したとき、
>横向き数字を「縦中横」機能で修正する手間を省くためです。

こんなことの役には立たないです
フォントを変えたからといって中身が変わるわけじゃありません
表示のされ方が変わるだけです
    • good
    • 0

少なくとも、テーブル・クエリで直接入力するのであれば無理だと思います。


フォームを使えば、特定のフィールド(コントロール)だけフォントを変更することはできると思いますので、そちらを検討してください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す