アクセス2000を使っています。
レポート中の「納品」という名前をつけたテキストボックスに、「**年**月**日に納品します。」という文字列を表示させようとしています。
「**年**月**日」の部分は「納品日」というデータなのでテキストボックス「納品」のコントロールソースに、下記の式を記述しました。
 =[納品日] & "に納品します。"
これで、一応、表示をすることはできたのですが、「**年**月**日」の部分だけ、太字にして下線を入れられないか、との要望があり、それができなくて困っています。
一つのテキストボックスに無理に表示しないで、「納品日」の部分と、「に納品します。」の部分の二つに分ければ、簡単に書式の設定を変えられるのですが、このやり方をすると、プリンターの種類によって、文字が重なるという現象が生じてしまうので、どうしても一つのテキストボックス内に表示させたいのです。
 誰か、このように、一つのテキストボックス内の一部分だけに下線を引いたり、太字にする方法をしりませんでしょうか?
 教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>プリンターの種類によって、文字が重なるという現象が



プリンタのプロパティが、「プリンタフォントを使う」になっているせいです。
プリンタのフォントを使うと、データ量が少なくて済みますが
必ずしもパソコンのフォントと同じ訳ではないので
文字間隔が若干違います。
ワープロ程度ならさほど問題になりませんが
データが隙間無く並ぶような帳票だと文字が重なったりします。
    • good
    • 0

>一つのテキストボックス内の一部分だけに下線


たぶんVBAでは無いと思います。

>プリンターの種類によって、文字が重なるという現象が生じてしまう
単純にフォントの問題では?
現在の使用フォントを定型フォントに置き換えてみてはどうでしょう?
MSpゴシック→MSゴシック

的外れだったらゴメンなさい。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QWordのテキストボックスの行間をつめたいのです

Wordのテキストボックスの行間をつめたいのです。

他者からもらった印刷物がありますが、
文字の高さが3.3mmで行間が3.6mm程度です。
Wordでやろうとしていますがなかなかできません。
テキストボックスの中に文字を入れればテキストボックスの上との行間が縮まりますが
テクストボックス内の行間が縮まりません。
どうしたらできますか?

Aベストアンサー

こんばんは!
↓の画像でテキストボックス内の行間を12ptでやってみました。
当方使用のWord2003の場合です。

左側のテキストボックスはデフォルト(ページ設定)の1行の行間そのままです。

(1)テキストボックス内の文字を範囲指定 → メニュー → 書式 → 段落
(2)「インデントと行間隔」タブ → 間隔の「行間」の下向き▼を選択 → 「固定値」を選択(自動で12ptになると思います)
このポイント数で好みの行間に設定できます。

※ 行間とは文字の上端~次の行の文字の上端までですので、行ピッチと言った方が判りやすいかもしれません。

すなわち、フォントサイズよりも小さいpt数を設定してしまうと文字が重なってしまいます。

以上、参考になれば良いのですが
的外れならごめんなさいね。m(_ _)m

Qチェックボックスの内容をテキストボックスに表示

フォームにチェックボックスをいくつか作成しました。
チェックした内容をテキストボックスに羅列して表示するには
どうしたらいいのでしょうか?

□A
□B
□C




とあり、AとCにチェックを入れたら
テキストボックスに「A C」と表示させるようにしたいです。

お願いいたします!

Aベストアンサー

VBAになってしまいますが一案として・・。
フォームは単票。
チェックボックス名は、A、B、・・・
テキストボックス名は、テキスト1
だとしたら
コマンドボックスのクリック時イベントに

Private Sub コマンド0_Click()
Dim ctl As Control
Dim buf As Variant

For Each ctl In Me.Controls
If TypeName(ctl) = "checkbox" Then
  If ctl.Value = -1 Then
    buf = buf & ctl.Name & " "
  End If
End If
Next

Me!テキスト1 = Left(buf, Len(buf) - 1)
End Sub
のように。
上記の場合チェックボックスを総なめしてしまっています。
フォームが単票以外なら
フォームの元になっているテーブル・クエリの説明が必要です。
とりあえず、こんなところで。

Qエクセル2002/テキストボックス内の文章の行間?

エクセル2002です。
テキストボックス内に書いた文章の行間を任意に変えることが可能ですか?

普通に書くとくっつきつぎで、一行あけると開きすぎなので、一行の半分くらいの行間にしたいのです。
テキストボックスの書式設定は見てみましたが、方法を見つけられませんでした。

Aベストアンサー

あまり良い方法と言えないかもしれませんが。

テキストボックス内に文字を入力します。
そしてテキストボックスの書式設定を出して、配置のタブを開きます。
文字の配置の縦位置を「均等割付」に設定します。
これでテキストボックスの縦の高さに合わせて、行間が広がります。
ちょうど良い行間にテキストボックスの高さを調節します。

Qチェックボックスの配置順にテキストボックスに表示

accessのフォームにチェックボックスを配置し
チェックされたものをテキストボックスに表示させています。

■A ■B □C □D ■E

となっていたら、テキストボックスに

A B E

と表示させています。

チェックボックスの真ん中に新しくチェックボックスを追加すると
テキストボックス内には、追加したものが最後に表示されていまいます。

■A ■B □C ■Z □D ■E

とすると、テキストボックスには

A B Z E
と表示させたいのに
A B E Z
表示されてしまいます。

いちから順番どおりに作り直せばいいのですが
かなりたくさんチェックボックスがあるうえに
上司から、この先も何度も作り直しを指示されそうです・・・。

できれば簡単に、配置した順にテキストボックスに表示されるようにしたいです。

チェックボックスの配置順に
テキストボックスに文字を表示させる方法を教えてください!

Aベストアンサー

VBA は、なんとか大丈夫になったでしょうか

VBA での記述になります。
状況が不明なところもありますが、変更しやすい(?)方法での記述にしてみます。
説明は後にして、以下をフォームに記述しておきます。

Private Function MojiGet() As String
  Dim ctl As Control
  Dim sS As String

  With New ADODB.Recordset
    .Fields.Append "名", adVarChar, 255
    .Fields.Append "値", adBoolean
    .Fields.Append "左", adInteger
    .Fields.Append "順", adInteger
    .CursorLocation = adUseClient
    .Open

    For Each ctl In Me.Controls
      Select Case ctl.ControlType
        Case acCheckBox
          sS = ctl.Name
          If (ctl.Controls.Count > 0) Then
            sS = ctl.Controls(0).Caption
          End If
          .AddNew
          .Fields("名") = sS
          .Fields("値") = ctl.Value
          .Fields("左") = ctl.Left
          .Fields("順") = ctl.TabIndex
          .Update
      End Select
    Next

    .Filter = "値 = True"
    .Sort = "左"

    sS = ""
    While (Not .EOF)
      sS = sS & " " & .Fields("名")
      .MoveNext
    Wend
    .Close

    MojiGet = Mid(sS, 2)
  End With
End Function

チェックボックスの状態を順次チェックしていくわけですが、
後での並べ替え( Sort )が楽なように ADO のレコードセットを使っておきます。

> A B Z E
> と表示させたいのに
> A B E Z
> 表示されてしまいます。

これは、おそらく
    For Each ctl In Me.Controls
      Select Case ctl.ControlType

とした場合の、出現順(作った順)で処理されているのだと思います。
上記の記述では、チェックボックスなら
・名前を覚える(チェックボックスにラベルがくっついていたらラベルの標題)
・値を覚える
・左位置を覚える
・タブ移動順を覚える

で、この4つを全部覚えたら
・値 = True で絞込み( Filter )
・並び替えを、左位置昇順
この結果で、「名」を繋げていきます
Filter は使わずに、True の時のみレコードセットに追加・・・でも良いと思います。
並び順をタブ移動順に変更するのも容易です。

また、2段・3段になっていて、上の段から・・・とかなら
"上" フィールドを追加して、ctl.Top も覚えておいてから
Sort で "上, 左" とすれば順に得られれます。( "左, 上" とするとまた違った順に)
もちろん、横並びの Top 値や Left 値は同じにしておく必要はありますが・・・
でも、タブ移動順の方が使えるのかも?

ここで、関数名を MojiGet としたので、テキストボックスに設定する時には
Me.テキストボックス = MojiGet
で、できると思います。

テキストボックスのコントロールソースに =MojiGet() としても表示できますが、
更新のタイミングがうまくとれないと思います。
( Me.Recalc 等で表示更新はされますが)
その時には、このチェックボックスが変更されたら・・・・
という意味で、引数に与えるようにします。( Access さんに教えてあげます)
関数側では、引数は必要としていないので、ダミー的な受けにしておきます。

Private Function MojiGet2(ParamArray vDmy()) As String
  MojiGet2 = MojiGet
End Function

テキストボックスのコントロールソースには、
チェックボックス「A」「B」「C」に変更あったら表示を更新したい場合
 =MojiGet2([A],[B],[C])
とでも記述しておきます。

なお、フォーム上に上記とは別の用途のチェックボックスがあるのであれば、
チェックボックスのプロパティにある「タグ」に識別子を埋めておきます。
「タグ」に設定する文字列は何でもよいので、
例えば、対象外のチェックボックスには設定なし・・・だけとすると

    For Each ctl In Me.Controls
      Select Case ctl.ControlType
        Case acCheckBox
          If (Len(ctl.Tag) > 0) Then ' ★こんな感じの判別
            sS = ctl.Name


※ 冒頭に示した内容では、毎回順を得ていますが、
 順を求めるのは1回で良いので、Form_Load とかでやっておいて、
 以降は求まっていた順を使いながら、True/False を判別・・・・でも良いかも

 ただ、フォーム上では操作が絡むので、応答に満足できれば、このままでも・・・

※ 同じような事をするフォームが複数あるのであれば、
 関数部分を標準モジュールに移動させ、
 ・ Private → Public
 ・ Me.Controls → CodeContextObject.Controls
 の変更で動くかも(未検証)

※ ADO のレコードセットを使わなくても、「タグ」に順を設定するとか・・・
 でも、追加した後、その「タグ」修正を間違わない・・・注意が必要ですね
 上記では、追加したら「タグ」に何かを入れておけば・・・・楽かな?
 いろいろ方法はあると思います。


参考にする/しない等々、自己責任でお願いします。

VBA は、なんとか大丈夫になったでしょうか

VBA での記述になります。
状況が不明なところもありますが、変更しやすい(?)方法での記述にしてみます。
説明は後にして、以下をフォームに記述しておきます。

Private Function MojiGet() As String
  Dim ctl As Control
  Dim sS As String

  With New ADODB.Recordset
    .Fields.Append "名", adVarChar, 255
    .Fields.Append "値", adBoolean
    .Fields.Append "左", adInteger
    .Fields.Append "順", adInteger
    ....続きを読む

Qパワポのテキストボックスの行間のデフォルト値の設定

パワポ2000を使っています。
テキストボックスを作ると必ず行間が9.99行となっているので、毎回1行に変更しています。作った時点に1行になるように、変更する方法がわかりません。
つまり、パワポのテキストボックスの行間のデフォルトを、現在の9.99行から1行に変更したらよいのですが、変更する方法がわかりません。

Aベストアンサー

行間を1行にしたテキストボックスを選択し、右クリックで「オートシェープの規定値」選択すると次からのテキストボックスは開業行になりませんか?

Qエクセルでテキストファイルからフォームのテキストボックスにテキスト挿入するマクロ

マクロでフォームのテキストボックスに直接テキストファイルからテキストを挿入したいのですが出来ますか?
opentextでエクセルシートに入れてからフォームにコピーすることはできたのですが、それだと重くなってしまうので直接取り込みたいんですがうまくいきません。
VBやJAVAのreadlineのようなものは使えないんでしょうか。

Aベストアンサー

>VBやJAVAのreadlineのようなものは使えないんでしょうか。

LineInput がありますよ。
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_030.html
http://rd.search.goo.ne.jp/click?DEST=http%3A%2F%2Fofficetanaka.net%2Fexcel%2Fvba%2Fstatement%2FLineInput.htm&no=2

Qテキストボックス内の行間の変え方

Microsoft Wordでテキストボックス内の行間を変えるにはどうしたらよいですか。
文字サイズを大きくすると、伴って行間も広くなってしまうのですが、行間だけを指定することができるでしょうか。教えて下さい。

Aベストアンサー

テキストボックス内のテキストを選択して右クリック
「段落」を選択してください。
行間の変更ができます。

Qテキストボックス内の文字のふりがな表示

テキストボックスで文字を入力して,その文字にふりがなをふる方法を教えてください。
宜しくお願いします。

Aベストアンサー

Excelのテキストボックスではルビは振れなかったように思います。
ただしExcel2000です。バージョンが違えば機能があるかもしれません。

Wordで線なし、塗りつぶしなしのテキストボックスを作り、ルビを振ります。
Excelを立ち上げ、セルを右クリックして形式を選択して貼り付けで、拡張メタファイルで貼り付けてみてください。
線や塗りつぶしはExcelに貼り付けてからでも設定できます。

また別の方法もあります。
それはWordを使わず、Excelのセルを図として貼り付ける方法です。
あるセルに文字を入力し、書式→ふりがな→表示または必要なら設定として、
ふりがなを表示させておきます。

このセルをコピー、Shiftを押しながら編集メニュー→図のリンク貼り付け。
セルとリンクされた図ができます。

QPPTのVBA 全てのテキストボックスの行間を最小

【PPTのVBA 全てのテキストボックスの行間を最小に】

 今晩は、質問させていただきます。どうぞよろしくお願いいたします。
PPT2007でございます。

 手元に大量にあるPPTファイル群のテキストボックスの行間が全て広いため、
全て一括で小さくしてしまいたい次第でございます。
もしこれを手作業でやりますと、テキストボックスをアクティブにする→右クリック
→「段落」→「段落前」を0に。
となり時間がかかりますため、VBAでどうにかしたい次第でございます。

 しかしネットで検索しても出てこず、
また上記操作を自動記録しようといたしましても記入されません。
(PPT2007には自動記録が無いため、excel、wordでトライいたしましたが、無理でございました。。。)

一個のテキストボックスの操作方法さえ分かれば後は、
For each スライド
  For each テキストボックス
  :
  :
  Next
Next
みたいな感じで出来ると思うのでございますが。。

 もしお詳しい方がいらっしゃいましたら,お教えいただけないでしょうか。
どうぞよろしくお願いいたします。

【PPTのVBA 全てのテキストボックスの行間を最小に】

 今晩は、質問させていただきます。どうぞよろしくお願いいたします。
PPT2007でございます。

 手元に大量にあるPPTファイル群のテキストボックスの行間が全て広いため、
全て一括で小さくしてしまいたい次第でございます。
もしこれを手作業でやりますと、テキストボックスをアクティブにする→右クリック
→「段落」→「段落前」を0に。
となり時間がかかりますため、VBAでどうにかしたい次第でございます。

 しかしネットで検索しても出てこず、
また...続きを読む

Aベストアンサー

MKT_さん
こんにちは。

下記のコードでできると思います。
※PPT2003での対応ですが…

Sub 行間変更()
 Dim I  As Long
 Dim J  As Long
 For I = 1 To ActivePresentation.Slides.Count
  With ActivePresentation.Slides(I)
   For J = 1 To .Shapes.Count
    If .Shapes(J).HasTextFrame = msoTrue Then
     .Shapes(J).TextFrame.TextRange.ParagraphFormat.SpaceBefore = 0
    End If
   Next J
  End With
 Next I
End Sub

Qaccess 検索結果をテキストボックスに表示させる方法

過去の質問見たのですが、どうもうまくできません。

現在の状況ですが、
「商品」「詳細」テーブルがあります。
各レコードの商品にはユニークなコードを付番してあります。
現在、詳細フォームを作成中です。

この、詳細フォーム上にテキストボックスを作成、コード入力をします。
次に検索ボタンを押した時、同じ詳細フォーム上の「名称」「規格」・・などのフィールドに商品テーブルの内容を自動入力させたいのです。
意味、わかりますでしょうか。

なんか、色々試して混乱してきてしまいました。
初心者です。よろしくお願いします。

Aベストアンサー

始めのテキストボックスをコンボボックスにすれば簡単です。

コンボボックスの 2 列目のデータの値を取得する方法
http://support.microsoft.com/default.aspx?scid=kb;ja;879798

それ以外だと、検索ボタンのクリックイベントで
フィールド名=Dblookup("フィールド名","テーブル名","[コード]='" & Me.テキストボックス名 & "'")
で各フィールドに値をセットになります。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング