★AccessVBA ~テキストボックスの大きさに合わせて文字を小さくする方法(横書き、縦書き)

※まだ書きかけです。すみません。
※間違ってたらすみません。
※メモ書きなので、自分でも意味不明な箇所も多いです。ごめんなさい。

  
32bitのAccessと64bitのAccessでは、作りが異なるので、それぞれ専用のmdbないし、accdb、を作ったほうがいいです。

特にAccessのハガキウィザードを使ったとき。
Win32APIを呼び出すのですが、64bitだと、それ専用に書き変えないとエラーになります。
64bitのAccessの場合は、もともと「Yubin7.dll」が無いこともあるのかもしれません。わかりませんが・・・。

以降にご提示した「テキストボックスの大きさに合わせて文字を小さくする」というプログラムは、そこには依存しないのであまり心配はないのですが、ただ、ハガキウィザードにて郵便番号や顧客住所などを自動で表示(あるいは印刷)するようなプログラムでは少し気をつけてください。
(ハガキウィザードが作ってくれたコードやテキストボックスを削らないといけないことがあります。)

  

★Accessのハガキウィザード作ったレポートのテキストボックスを、郵便番号以外を無効化する方法
(ウィザードで自動作成されたテキストボックスを消しても大丈夫にする方法)

詳細セクションのFormatイベントのコードを、
「Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)」
からすぐ下の変数宣言の部分は一応残しておいて、
あと、以下の部分だけも残して、あとは全部消すか、コメントアウトします。

If iStrp = 0 Then
rgchSBCSNum = "0123456789"
rgchDBCSNum = Chr$(-32177) & Chr$(-32176) & Chr$(-32175) & Chr$(-32174) & Chr$(-32173) & Chr$(-32172) & Chr$(-32171) & Chr$(-32170) & Chr$(-32169) & Chr$(-32168)
rgchKanjiNum = Chr$("-32422") & Chr$("-30486") & Chr$("-27663") & Chr$("-29105") & Chr$("-29076") & Chr$("-29476") & Chr$("-26534") & Chr$("-29003") & Chr$("-27478") & Chr$("-29725")
End If

レポートデザイン画面のテキストボックスは、氏名と住所と差出人のそれらは消すか、小さくして非表示氏にしてOKです。

郵便番号付近の小さなテキストボックスらしきものは、消すとエラーになるものは残しておき、非表示設定にします。

一度に全部消すと、エラーになるかもなので、1つ1つ、確認しながら消してください。

プログラム側を消してしまったので、「逆に残すとエラーになる」なんてこともあるかもしれません。
その場合は消してしまってください。

  

  

★横書きテキストボックスの場合の、プログラムの呼び出し方法

Accessのハガキウィザードで作ったDMなどは、例えば前項のように「全部消してしまった」部分に、以下のように書き足して縮小表示をします。

Call FontMinimize01(Me, Me("tbx_氏名"), 28)

ウィザードでのハガキ以外のレポートなら、好きな場所に書いて縮小表示を実行します。

なお、Meの部分は、レポートやフォームのオブジェクトそのものを指定します。
(ただ、基本、Meのままでいいです。もとからレポートかフォームでしか使えないプログラムなので)

「"tbx_氏名")」の部分は、縮小表示したいテキストボックスなどのコントロール名を書きます。

28、18、15、などのラスト部分の数字は、
「縮小表示したいテキストボックスななどの最大フォントサイズの上限設定値」です。

  

★縦書きテキストボックスの場合の、プログラムの呼び出し方法

Accessのハガキウィザードで作ったDMなどは、例えば前項のように「全部消してしまった」部分に、以下のように書き足して縮小表示をします。

Call FontMinimize01_tete01(Me, Me("tbx_氏名"), 28)

ウィザードでのハガキ以外のレポートなら、好きな場所に書いて縮小表示を実行します。

こちらも、Meの部分は、レポートやフォームのオブジェクトそのものを指定します。
(ただ、基本、Meのままでいいです。もとからレポートかフォームでしか使えないプログラムなので)

「"tbx_氏名")」の部分は、縮小表示したいテキストボックスなどのコントロール名を書きます。

28、18、15、などのラスト部分の数字は、
「縮小表示したいテキストボックスななどの最大フォントサイズの上限設定値」です。

  

★横書きテキストボックス用のプログラム(標準モジュールにコピペ)

  

★縦書きテキストボックス用のプログラム(標準モジュールにコピペ)

  
  

★DMハガキ用。数字を漢数字に変換する。
Accessのハガキ印刷の宛名印刷の場合、テキストボックスのコントロールソースで使います。


=SafeToKanjiNum(StFixDashCharForVert([住所1]))

★DMハガキ用。ハイフンを縦書きハイフンに変換する。