教えてください。
アクセスレポートのテキストボックスをそのサイズを変えずに文字を縮小する(エクセルの書式設定の縮小して全体を表示にすると同じように)にはどうしたらよいのでしょうか。
ネットで検索したら あったのですがうまくいきませんでした。
以下引用
****************************
以前作成したことのある枠内に収まるようフォントサイズを
自動調整する関数です。
Public Sub AutoFontSize(Ctr As Control, IniFontSize As Integer)
Const MinFontSize = 4 '最小のフォントサイズ
Const d = 40 'うまく収まらずに改行されてしまう場合はここの数値を増やす
Dim rpt As Report, Str As String, W As Long
Dim arStr, i As Integer, H As Long
Set rpt = CodeContextObject
With rpt
If Ctr.ControlType = acTextBox Then
Str = Ctr.Text
ElseIf Ctr.ControlType = acLabel Then
Str = Ctr.Caption
Else
Exit Sub
End If
If Str = "" Then Exit Sub
.FontName = Ctr.FontName
If Ctr.Vertical Then
W = Ctr.Height - d
H = Ctr.Width - d
If InStr(1, .FontName, "@") = 0 Then
.FontName = "@" & .FontName
Else
.FontName = Mid(.FontName, 2)
End If
Else
W = Ctr.Width - d
H = Ctr.Height - d
End If
arStr = Split(Str, vbCrLf)
Str = arStr(0)
For i = 1 To UBound(arStr)
If .TextWidth(arStr(i)) > .TextWidth(Str) Then Str = arStr(i)
Next
.ScaleMode = 1
If Ctr.FontBold = 1 Then .FontBold = True
.FontSize = IniFontSize
Do Until rpt.FontSize = MinFontSize
If W > .TextWidth(Str) Then
Exit Do
End If
.FontSize = .FontSize - 1
Loop
Do Until rpt.FontSize = MinFontSize
If H > .TextHeight("A") * (UBound(arStr) + 1) + Ctr.LineSpacing * UBound(arStr) Then
Exit Do
End If
.FontSize = .FontSize - 1
Loop
Ctr.FontSize = .FontSize
End With
End Sub
使い方は、
前記の関数を標準モジュールに作成します。
レポートのセクションのフォーマット時イベントで、
AutoFontSize Me.テキストボックス名, 12
というように記述します。
第2引数は、フォントサイズの初期値です。
枠内に収まりきらないときは、収まるサイズまで縮小します。
ただし、Const MinFontSize = 4 で指定したサイズまでです。
*******************
というのをそのままコピーして試してみたのですが、
「マクロがみつかりません」というエラーがでてしまいました。
何か他に簡単な方法もしくは上記の表現を補足わかりやすくしてくださるようお願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
詳細は見ていませんが//ぱっと見で
>レポートのセクションのフォーマット時イベントで、
>AutoFontSize Me.テキストボックス名, 12
>というように記述します。
関数の呼び出しに()かっこが抜けていませんか?
Public Sub AutoFontSize(Ctr As Control, IniFontSize As Integer)という関数なので
AutoFontsize(コントロール名,フォントサイズ)となるはず
的外れでしたらごめんなさい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
レポート中の文字を自動縮小したい (ACCESS 2003)
Access(アクセス)
-
Accessで文字列の長さによって、フィールドの幅を自動で合わせる方法
Excel(エクセル)
-
アクセス2016のレポートで、テキストボックスの文字を自動で改行(縮小)させたい。
Access(アクセス)
-
-
4
アクセスで、レポートの幅がページの幅よりもよりも広い??
Access(アクセス)
-
5
Access2007、フォームのテキストボックスのサイズ調整に関して
その他(データベース)
-
6
Accessの条件付き書式設定で、複数の条件が一致した時の書式を設定したい
その他(Microsoft Office)
-
7
Accessでの置換
Access(アクセス)
-
8
accessのレポートであとから他のテーブルのフィールドを追加する方法
Access(アクセス)
-
9
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
10
Accessチェックボックス 一度で複数のチェックを入力
Access(アクセス)
-
11
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
12
Accessのレポート機能で空白になる2ページ目を印刷したくない
Access(アクセス)
-
13
アクセスで特定のレコードのみのレポートを印刷したいのですが。
Access(アクセス)
-
14
Access2010 「演算子がありません」エラー
その他(データベース)
-
15
「RunSQL」と「Execute」の違い
Access(アクセス)
-
16
(ACCESS)条件に応じて、テキストボックスを表示・非表示設定
その他(データベース)
-
17
Access テキスト型に対する指定桁での0埋め方法
その他(データベース)
-
18
クエリで出来た表にチェックボックスを追加する
その他(Microsoft Office)
-
19
VBAのIF分で時間指定の条件式の書き方
Visual Basic(VBA)
-
20
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メッセージボックスに表示する...
-
ワードで英単語を入力すると文...
-
差し込み印刷された時の文字の...
-
ワードやエクセルで文字を縦長...
-
パソコンの表示フォントが突然...
-
箇条書きの数字の一部の色を変...
-
ワードで、文字の大きさを変え...
-
教えて!6点リーダー
-
エクセル:1行のはずが2行にな...
-
excelで文字幅(倍率)を指定す...
-
エクセル表の行がメール添付し...
-
1文字をB5用紙サイズくらい...
-
Chem Drawの使い方
-
エクセルのテキストボックス内...
-
急に文字が細くて、見づらくな...
-
メモ帳での印刷時、文字の大き...
-
WORDで、一行当たりの文字数を4...
-
ワードの段(落)間を7mmにした...
-
ワードでの文字数の設定
-
Wordについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
メッセージボックスに表示する...
-
ワードで英単語を入力すると文...
-
パソコンの表示フォントが突然...
-
ワードやエクセルで文字を縦長...
-
差し込み印刷された時の文字の...
-
箇条書きの数字の一部の色を変...
-
ワードで、文字の大きさを変え...
-
A4サイズの用紙いっぱいに1文字...
-
急に文字が細くて、見づらくな...
-
excelで文字幅(倍率)を指定す...
-
ワードの原稿用紙、文字ずれに...
-
エクセル表の行がメール添付し...
-
WORDで、一行当たりの文字数を4...
-
セルの条件によってフォントサ...
-
ワードで筆のような文字にしたい
-
縦書きで途中から2行にする場合...
-
Excel2007でハイパーリンクを設...
-
教えて!6点リーダー
-
Excelエクセル ヘッダの文字サ...
-
Chem Drawの使い方
おすすめ情報