• ベストアンサー

自動サイズ調整

Access97を使用しています。 フォーム上のテキストBOXにデータをモジュールで入力するのですが その際、テキストBOXの幅より大きいデータが入った場合、 出てしまいます。 この時、モジュールで自動調整する方法はあるのでしょうか? 要望としては、文字数が多い場合、自動でフォントサイズを小さくする です。

  • cdma
  • お礼率36% (91/247)

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

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.2

そのテキストボックスの「更新時」イベントに次のように記述します。 入力していて、11文字目になるとフォントが小さくなります。 BSキーで消していって10文字になると大きいフォントになります。 Private Sub テキスト1_Change() If Len(Me![テキスト1].Text) > 10 Then   Me![テキスト1].FontSize = 9 Else   Me![テキスト1].FontSize = 10 End If End Sub

cdma
質問者

お礼

回答有難うございます。 早速実施してみます。

その他の回答 (1)

  • gadd3
  • ベストアンサー率46% (211/451)
回答No.1

「テキスト1」という名前のテキストボックスを作り、その更新後処理イベントなどに、以下のコードをコピペします。 If Len(テキスト1) > 10 Then テキスト1.FontSize = 7 Else End If すると、テキストボックスに10文字以上入れてEnterキーを押すと、文字の大きさが7ポイントに小さくなります。 元に戻すにはダブルクリックイベントなどに テキスト1.FontSize = 10 などと書けばよいと思います。

関連するQ&A

  • Access2007、フォームのテキストボックスのサイズ調整に関して

    いつもお世話になっております。 Access2007で、データ型がメモ型のフィールドをフォームにした時、最初に指定したテキストボックスのサイズを超える時に、自動でテキストボックスの大きさを変えることはできるのでしょうか?

  • ACCESS フォームのサイズ調整

    ACCESS2010にて顧客情報登録フォームを作成しています。 フォームのサイズ調整なのですが、フォームを開いたとき、フォームウィンドウがデザインビューで指定したフォームの幅と高さになるようにしたいです。 初期表示での反映で構いません。 その後、最大ボタン及びマウスなどでサイズを変えるときはタイトルや入力フォームが 画面中央に寄るよう自動的に調整されてくれればと考えています。 下記URLなど参考に以下をやってみたのですが、全く反映されず 直前に開いたアクセスウィンドウのサイズを踏襲するように表示されます。 フォームのプロパティの設定で調整できないのでしょうか? ご教示のほう、よろしくお願い致します。 フォームプロパティの「サイズ自動修正」を「はい」、「自動中央寄せ」を「はい」 http://m.chiebukuro.yahoo.co.jp/detail/q1430936674;_ylt=A7dP5YUbYTxUbSAAXAjhPPh7?ccode=ofv&pos=1

  • エクセルのコメントで自動サイズ調整

    Excel2000です。 ワークシート、 Sheets("Comment")上のデータにもとづき、自動でセルにコメントを挿入するマクロを書きました。 以下で、正常に作動します。 問題は、TextFrameの自動サイズ調整の部分です。 このままだと、文字列の長さに応じて横にだけ長くなってしまうのです。 かといって、文字列の長さはバラバラなのでサイズを固定するわけにもいきません。 コメントの横幅は一定で、縦の長さだけ文字数に応じて自動で変わるような設定はできないものでしょうか? Sheets("Comment")上のデータをAlt+Enterでセル内改行させることにより対応はできますが、もっといい方法がないか質問させていただきました。 Lenで文字数を調べ、これに応じて対応させるのは、全角半角が入り混じったデータなので無理そうです。 宜しくお願い申し上げます。 Sub Comment挿入() Dim sa As String, ad As String, tx As String With Sheets("Comment") For i = 2 To 42 sn = .Cells(i, "A").Value 'シート名 ad = .Cells(i, "B").Value 'セルアドレス tx = .Cells(i, "C").Value 'テキスト With Sheets(sn).Range(ad) .AddComment With .Comment .Visible = False .Text Text:=tx .Shape.Shadow.Visible = msoFalse '影無し .Shape.Fill.ForeColor.SchemeColor = 42 '背景を水色 .Shape.Line.ForeColor.SchemeColor = 10 '枠線を赤 .Shape.TextFrame.Characters.Font.Name = "MS UI Gothic" 'フォント指定 .Shape.TextFrame.Characters.Font.ColorIndex = 3 'フォント色を赤 .Shape.TextFrame.AutoSize = True '自動サイズ調整 End With End With Next i End With End Sub

  • Excel2013 テキストボックスについて

    お世話になります。 テキストボックスに文字を入力した場合は、その文字を選択するとメニューが出るため、そこからフォントサイズの調整ができるのですが、直接文字を入力するのではなく、数式バーに=A1と入力し、A1セルの数値や文字等を参照してテキストボックスに表示させる方法だと、テキストボックス内の文字等を選択することができずフォントサイズを調整できませんでした。 テキストボックスを右クリックして、図の書式設定から探したのですが、フォントサイズを設定する項目が見当たりませんでした。 フォントサイズを調整するにはどうすればいいでしょうか。 よろしくお願いします。

  • 転記作業を自動化できないか

    こんな作業を自動化・高速化できないでしょうか。 ある入力フォームについて、Excelデータから転記する作業をしています。その入力フォームには縦横に入力用テキストボックスが並んでいるわけですが、横方向の入力をする場合 ExcelファイルのA1セルをコピー(Ctrl+C) → 入力フォームをアクティブに(Alt+Tab) → 貼付け(Ctrl+V) → Excelをアクティブに(Alt+Tab) → ExcelのB1セルへ移動(Tab)してコピー(Ctrl+C) → 入力フォームをアクティブに(Alt+Tab) → 次のテキストボックスへ移動(Tab)して貼付け(Ctrl+V) ・・・というのを繰り返してやっています。非常に単純な機械的繰り返し作業なので、なんとか自動化できないでしょうか。 ちなみにA1セル~B1セルを一度にコピーしてテキストボックスに貼付けても、2つのテキストボックスに一度に貼付けられたりはせず、1つのテキストボックスにしか貼付きません。また、データの自動取込み機能などは、その入力フォームにはありません。

  • Acrobatテキストboxサイズ自動フィットは?

    Windows7/Adobe Acrobat 8 Professional です。 「テキストボックスツール」で、 ボックスサイズを入力した文字に合わせて 自動でフィットする機能はありませんか? 現状、手動でサイズを調整する必要があり不便を感じています。 どうぞよろしくお願いいたします。

  • Accessで自動に番号を振る方法

    AccessのマクロやVBAにお詳しい方、教えてください。 現在、Access2010を使っています。 たとえば、テーブル1が、 種別  番号 りんご  1 みかん  1 りんご  2 メロン  1 みかん  2 メロン  2 メロン  3 とあります。 フォーム1には、種別と番号のテキストボックスがあります。 新規データ入力で、「種別」テキストボックスに「みかん」と入力し、「番号」テキストボックスをダブルクリックしたとき、「みかん」の番号の最大値の次の番号「3」が自動的に振られるようにしたいのですが、どうしたらいいでしょうか。 なお、 1.「種別」テキストボックスが空欄の場合 または、 2.「番号」テキストボックスに既に数値が入っている場合 は、ダブルクリックしても番号が振られないようにもしたいです。

  • パワーポイントのテキストボックス内のフォントサイズ自動縮小について

    パワーポイントのテキストボックスについて質問します。 テキストボックス内のフォントサイズがテキストボックスの枠のサイズに応じて、自動的に拡大・縮小される設定があると思うのですが、その設定はどのようにするのでしょうか。教えてください。

  • 文字数に応じてfont-sizeを自動変更

    エクセルのセルの書式の中にある「縮小して全体を表示する」の様な ことをしたいのです。 具体的にはtableの固定幅セルのfont-sizeを、文字数に応じて自動的に 設定して、セル内で折り返しが発生しないようにしたい。 といっても、そんなに厳密でなくてもいいので、 「文字数が○文字未満ならfont-size:normal、以上ならsmall」 程度でいいんですが、これをCSSのみかCSS+JavaScriptで 実現できないものでしょうか。 文字数に応じて<td>のclassを変えればいいのでしょうが、 できれば、テキストの修正をすれば自動的に変わる様にしたいです。

  • フォームテキスト内文字の縦位置調整は?

    お尋ねします。 Access2000で作ったフォーム内のテキストボックスに入力した文字の「縦位置」調整をする方法はあるでしょうか? たとえば、上詰め、中央揃え、下詰めなどの調整です。 よろしくお願いします。

専門家に質問してみよう