長い表形式の文章作成にはワードよりエクセルを良く用います。
セルの中に直接文章を入れたら動きが遅くなったので、テキストボックスに文書をいれました。
動きは速くなったのですが、画面と印刷結果(及び印刷プレビュー)が相当ずれます。
何か良い方法はありませんか?

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

A 回答 (1件)

ご利用のExcelのバージョンが不明ですが,2003までならツールメニューのオプションの全般で標準のフォントを((2007以降ではExcelのオプションで新しいブックの作成時に使用するフォント)MS明朝の10.5ptに変更してエクセルを再起動し,改めてテキストボックス等の配置を調整してから印刷してみると,改善しています。


必要に応じて書式メニューのスタイルから(またはセルのスタイル▼から)標準スタイルのフォントもMS明朝の10.5ptに変更します。

また,プリンタの詳細設定によって印刷がずれている場合もあります。こちらはExcelの及ぶ範囲じゃないので,試しに別のプリンタでも印刷してみます。
    • good
    • 0
この回答へのお礼

回答有難うございます。

お礼日時:2011/04/08 23:11

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

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

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

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

Qテキストボックス名を変数で指定してプロパティ設定?

Ms Access2000,2003 のVBAで
テキストボックスのプロパティを変更する時

Me.TextBoxName.Fontsize = 9

などと記述しますが、
この式の左側、テキストボックス名等を変数で処理することが出来るのでしょうか?

Aベストアンサー

ANo.1さんの回答の参照先は Visual Basic の例ですね。
AccessVBAはちょっと異なっていて癖がありますのでVBのコードをそのまま使えません。


■コントロール名(文字列型)を変数にする場合

Dim strCtl As String

strCtl = "TextBoxName"

Me.Controls(strCtl).FontSize = 9

.Controls は省略することもできます。

Me(strCtl).FontSize = 9


■コントロールオブジェクト(オブジェクト型)を変数にする場合

Dim objCtl As Object

Set objCtl = Me.TextBoxName

objCtl.FontSize = 9

Qエクセルマクロのテキストボックスの質問です。テキストボックス内の文字を

エクセルマクロのテキストボックスの質問です。テキストボックス内の文字を24文字13行で設定します。文字を打つことにより残り行数をカウントできるようなマクロを作成したいと思い次のマクロを設定しましたがエラーがでます。対処方法わかりますか。
UserForm1のマクロは次の通りです。

Private Sub CommandButton1_Click()
Me.Hide
End Sub
Private Sub TextBox1_Change()
ato = 13 - TextBox1.linecounut
Label1.ForeColor = 0
If ato <= 10 Then Label1.ForeColor = RGB(255, 0, 0)
Label1.Caption = "あと " & ato & " 文字入力できます。"
End Sub
すると1回目は入力可能ですが,次のセルに移動するとこのようなメッセージが出てしまいます。
linecountのプロパティーを取得できません。このコントロールはフォーカスを持つ必要があります。setfoucusメソッドによってこのプロパティーまたhメソッドが参照される前にフォーカスに移動しました

エクセルマクロのテキストボックスの質問です。テキストボックス内の文字を24文字13行で設定します。文字を打つことにより残り行数をカウントできるようなマクロを作成したいと思い次のマクロを設定しましたがエラーがでます。対処方法わかりますか。
UserForm1のマクロは次の通りです。

Private Sub CommandButton1_Click()
Me.Hide
End Sub
Private Sub TextBox1_Change()
ato = 13 - TextBox1.linecounut
Label1.ForeColor = 0
If ato <= 10 Then Label1.ForeColor = RGB(255, 0, 0)
Label1....続きを読む

Aベストアンサー

ato = 13 - TextBox1.LineCount

TextBox1.SetFocus
ato = 13 - TextBox1.LineCount

にしたらどうでしょうか?

QAccess97のテキストボックスプロパティの入力規制について

質問はAccessのテキストボックスに
パスワードを入力する機能についてです。

パスワードは6桁の半角英数字のみ入力可能にしたいです。

現在、以下のことを試し、
半角英数字が6桁入力できるようになりました。

テキストボックスのプロパティで
定型入力部分に「password」と設定しテキストボックスに
パスワードが「****」で表示できるようにしました。
そして6桁にしたいので、
入力規制の部分に「like "??????"」と設定しました。

問題は半角英数字は入力できるのですが、
スペースや記号も入力できてしまうことです。
スペースや記号は入力できないように設定することは可能でしょうか?
また入力規制の部分で、半角英文字、半角数字を設定することは
可能でしょうか?

何か解決法がありましたら、教えてください。
よろしくお願いします。

Aベストアンサー

イベントプロシージャを使えば入力そのものをできなくすることができます。
Private Sub テキスト1_KeyPress(KeyAscii As Integer)
Select Case Chr(KeyAscii)
Case vbBack

Case " ", Is <= "0"
KeyAscii = 0
End Select
End Sub

のようにすれば、スペースや記号を入力しようとしてキーを押しても入力されなくなります。

Qワードの文章にエクセルの「文章」を貼り付けるには?

ワード2000で文章を作成しています。
2ページ目が完成して、3ページ目にエクセル2000で作成した別のファイルの文章(グラフ等ではない)を貼り付けたいのですが、その方法がわかりません。「画像」として貼り付けられるのでしょうか?
(コピー&ペーストで試してみたら、エクセルの文章はかなり書式が乱れてしまいました。)
ご存知の方、どうかお教えください。よろしくお願いします。

なお、上記の場合で、3ページ目に貼り付けるのが、エクセル2000で作成した別のファイルのグラフ(文章ではなく、グラフのみ)ならば、どうすればよろしいのでしょうか?
併せてお教えいただければ大変助かります。

Aベストアンサー

エクセルのレイアウトのまま貼り付けたいなら、ワードに貼り付けるときに「編集」「形式を選択して貼り付け」で「Microsoft Excelワークシートオブジェクト」で貼り付けてください。
この形式で貼り付ければ、その部分をダブルクリックすればエクセルで編集することが可能です。

グラフのような画像を貼り付けるときも同様にグラフ部分をコピーして、ワードで「形式を選択して貼り付け」から「図(拡張メタファイル)」などの図の形式で貼り付けてください。

Qfor~nextを使ってテキストボックスのプロパティを変更したいのですが・・・

ヨロシクお願いします。
VB2005でコード書いています。

現状は

For i = 0 To 80

If i = j(20) Then 'And 4 And 5 And 12 Or 13 Or 14 Or 21 Or 22 Or 23 Or 27 Or 28 Or 29 Or _
' 36 Or 37 Or 38 Or 45 Or 46 Or 47 Or 54 Or 55 Or 56 Then
With textbox(i)
.BackColor = Color.Black
.ForeColor = Color.White
End With

End If
Next
このような感じになっています。上の数字を大量に並べているところがコメント化されていて少しゴチャゴチャした感じ(現状では変えたいテキストボックスの番号を配列化して試しています。)になっていますが、基本的には飛び飛びのをif文を使って抽出しその部分のみのテキストボックスプロパティ(背景色等)を変更することができたらと考えているのですが、色々試しても自分の考えているように動いてくれません。

どなたかご存知の方がおられましたら、良きアドバイスをお願い致します。

ヨロシクお願いします。
VB2005でコード書いています。

現状は

For i = 0 To 80

If i = j(20) Then 'And 4 And 5 And 12 Or 13 Or 14 Or 21 Or 22 Or 23 Or 27 Or 28 Or 29 Or _
' 36 Or 37 Or 38 Or 45 Or 46 Or 47 Or 54 Or 55 Or 56 Then
With textbox(i)
.BackColor = Color.Black
.ForeColor = Color.White
End With

End If
Next
このよ...続きを読む

Aベストアンサー

対象の物も配列化して変数確保時の初期化で書くと楽かも

Dim miArray() As Integer = {4, 5, ...}

for i = 0 to miArray.Length - 1
With textbox(j(miArray(i)))
.BackColor = Color.Black
.ForeColor = Color.White
End With
next

Q【Access】テキストボックスに入力後、そのテキストボックスを無効化する方法について

txt_IDというテキストボックスにIDを入力して、
そのIDがデータベースに存在した場合、txt_IDを無効化したいと思います。

下記にソースコードを記載しましたが、下記では
Me.txt_ID.Enabled = False
まで遷移した後、下記のエラーメッセージが表示されてしまいました。

「実行時エラー '2164':

コントロールがフォーカスを取得しているときは、コントロールを無効にすることはできません。」

【ソースコード】
Private Sub txt_ID_BeforeUpdate(Cancel As Integer)
Dim record_Existence As Boolean

' 本来はDBにアクセスして入力したIDが存在するかチェックしています。
record_Existence = True

If record_Existence = True Then
Me.txt_ID.Enabled = False
End If
End Sub

その為、上記のような場合、どのようにすればコントロールを無効化できるか、
ご存知の方がいらっしゃいましたら、ご教示いただければと思います。

よろしくお願いします。

txt_IDというテキストボックスにIDを入力して、
そのIDがデータベースに存在した場合、txt_IDを無効化したいと思います。

下記にソースコードを記載しましたが、下記では
Me.txt_ID.Enabled = False
まで遷移した後、下記のエラーメッセージが表示されてしまいました。

「実行時エラー '2164':

コントロールがフォーカスを取得しているときは、コントロールを無効にすることはできません。」

【ソースコード】
Private Sub txt_ID_BeforeUpdate(Cancel As Integer)
Dim record_Existence As ...続きを読む

Aベストアンサー

横レス失礼致します。

> 下記のソースで試してみた所、下記のエラーが表示され駄目でした。

更新前(BeforeUpdate)イベントは、フィールドやレコードの更新前に
発生するイベントで、そのイベント内で更新を完了させることはできません。

ですので、コントロールを移動させる(=フィールド(=コントロール)の更新を
確定させる)場合は、更新後(AfterUpdate)イベントで行う必要があります。


【更新前/更新後イベントの大雑把な使い分け】
更新前イベント:
 イベントのキャンセルを可能にしたい場合に使用
 (指定した条件が満たされない場合、Escキーなどで入力を取り消さない限り、
 そのコントロール(またはそのレコード)からの移動を許可しない)
更新後イベント:
 上記以外で、入力値に対する対応を行う場合に使用
 (上述した通り、こちらではコントロールの移動やレコードの(強制)保存が
  できます。また、値の代入(例えば値を削除(=Nullを入力)した場合に
  強制的に代替値を入力するなど)も行えます)
 なお、このイベントは、対応する更新前イベント(→同じコントロールの
 更新前/後、フォームの更新前/後)でCancel=Trueにされた場合は
 発生しません。


今回のように、フォーカスの移動などが必要になる場合は、
 a)値のチェックのみを更新前イベントで行い、フォーカス移動などは更新後
  イベントで実行、と分割して対応するか、
 b)全てを更新後イベントで行う形にして、条件を満たさなかった場合は
  更新前イベントの「Cancel=True」の代わりに、OldValueプロパティを
  使用して、更新前の値に戻す(→コントロールの更新前イベントの場合)
  ※コントロールソースがないコントロール(=非連結コントロール)では、
   OldValueプロパティでは更新前の値は取得できません。
   (変更後と同じ値が返されます)
のどちらかを選択することになります。


以下は、全てを更新後イベントで対応した場合のサンプルです:

Private Sub txt_ID_AfterUpdate()
  Dim Record_Existence As Boolean
  Record_Existence = True

  If Record_Existence Then  
  '→If文での「= True」は省略可なので私は省略しています
    Me.txt_Name.Enabled = True
    Me.txt_Name.SetFocus
    Me.txt_ID.Enabled = False
  Else
    'OldValueプロパティにより、直前の更新を行う前の値に戻します。
    Me.txt_ID = Me.txt_ID.OldValue

    '他のフィールドの編集は有効とした上で、「ID」のみ取り消す場合は、
    'レコードを保存し直します。
    '(レコード全体の編集を取り消す場合は、提示のコード(=Escキーの
    ' 送信でもOkです)
    DoCmd.RunCommand acCmdSaveRecord
    'SendKeys "{Esc}"
  End If

End Sub

横レス失礼致します。

> 下記のソースで試してみた所、下記のエラーが表示され駄目でした。

更新前(BeforeUpdate)イベントは、フィールドやレコードの更新前に
発生するイベントで、そのイベント内で更新を完了させることはできません。

ですので、コントロールを移動させる(=フィールド(=コントロール)の更新を
確定させる)場合は、更新後(AfterUpdate)イベントで行う必要があります。


【更新前/更新後イベントの大雑把な使い分け】
更新前イベント:
 イベントのキャンセルを可能にしたい場...続きを読む

QAccess フォーム上でのテキストボックスとテーブルの連結

フォームヴィザードからフォームを作成すると、
テキストボックスと指定したテーブルを連結させることができるのですが、デザインビューでそれをするときに、テキストボックスのプロパティのコントロールソースにテーブル名を入れれば連結できるのかと思いきや、うまく表示されません。どこを設定すればテキストボックスとテーブルを連結できるのでしょうか?

Aベストアンサー

#2です。
デザインビューの空欄スペース(グレー1色のところ、升目なし)で右クリックをするとプロパティが出てきます。また、フォームウィザードの途中で、そのフォームと連結するテーブルかクエリを選択する画面が出てきます。

Qワードのテキストボックスや画像はすぐにズレますが

彼ら(MSの人達)はもうこれらを直す気は無いのでしょうか。
ちょっと目を離したすきにすぐずれます。
絶対動かないようにする方法はないのですか。

Aベストアンサー

確かに扱いにくい点はありますが
「目を離したすきに」「すぐずれます」
そんな経験が無いのですが、
これら2点がどういうことかわからないので
もっと具体的な事例を出すといいですね。
(修正されるかどうかは別として何か方法があるかもしれません。)

・OSの種類とサービスパックの適用は?
・Wordのバージョンとサービスパックの適用は?

どうしても困るなら、面倒でも「レイアウトの詳細設定」で
・アンカーを段落に固定する
・文字列と一緒に移動する
などのチェックの有無を設定すれば困るようなことは無くなるのでは?

QFlashのテキストボックスの「単一行」と「折り返しなし」の違い

FlashMX2004のテキストボックスについて質問です。
テキストボックス(テキスト入力)のプロパティにある「単一行」と「折り返しなし」の違いは何でしょうか。
単純なことかもしれませんが・・・。

Aベストアンサー

こんにちは。

「単一行」はSWFファイルのテキストボックス内に,文字を入力するとき,改行できません。

こんな感じ↓
 あいうえおかきくけこさしすせそ

「折り返しなし」は,SWFファイルのテキストボックス内に,文字を入力するとき,改行するまでずっとテキストボックスの範囲を超えて入力出来ます。

こんな感じ↓
|         | ←テキストエリア
 あいうえおかきくけこさしすせそ
 たちつてと

ちなみに「複数行」は改行出来ます。でもテキストボックスの左右エリアで自動で見た目だけ改行されます。

こんな感じ↓
|         |←テキストエリア
 あいうえおかきく
 けこさしすせそた
 ちつてと

>>「単一行」と「折り返しなし」の違い
簡単に言うと,改行出来るか出来ないかです。

Qワード2007で テキストボックス内の行間を操作したい。

ワード2007で テキストボックスのフォントサイズを 大きくすると 3行に分けた文字列の行間が、非常に大きくなってしまって困っています。。行と行の隙間を 狭くしたいけど どこに設定するところがあるのか、見つけられません。
だれか 教えてください。

Aベストアンサー

テキストボックス内の行間を変更(狭める)段落を選択
右クリック → 段落 → 段落ダイアログボックスの間隔 → 1ページの行数を指定時に文字を行グリッド線に合わせるのチェックをはずす。


人気Q&Aランキング

おすすめ情報