エクセル2000でテキストボックスに入力するのですが、入力画面では文頭がそろっているのですが、印刷プレビューと印刷した場合に文頭が大きくずれています。
なぜでしょうか。
よろしくお願いします。

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

A 回答 (2件)

まず、印刷プレビューの機能はエクセルだけの力では無く、


インストールしているプリンタの能力も合わさってできます。
ですからプレビューと出力データはほぼ同一だと思います。

で対策ですが、プリンタ自体がフォント(文字データ)を持っていれば
データスプールを速める為にスクリーンのフォントをプリンタのフォントに
置き換えて出力する場合があります。
この場合、スクリーンに反映されている文字データが
そのまま出力されている訳ではないので
プリンタ側で(速く処理できるように)データ変換されて出力します。
上記が問題だとしたら、変更箇所はそのプリンタのプロパティですが

具体的にプリンタ機種名を書かれると
詳しい回答が出てくると思いますよ。

この回答への補足

早速のご回答ありがとうございます。
プリンターの機種ですが、Canon LASER SHOT LBP-740e です。
よろしくお願いします。

補足日時:2002/03/13 08:25
    • good
    • 0
この回答へのお礼

ご連絡が遅くなって申し訳ありませんでした。何とか解決できましたので、ありがとうございました。

お礼日時:2002/04/04 20:39

印刷する際のプリンタプロパティのフォントタグはどうなってますでしょうか…。


機種によってことなりますが、
プリンタのフォントを使用するか
画面と同様に出力する設定とか選択できたと思います。

すみません、私の場合それをかえるくらいしか…。
    • good
    • 0

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

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

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

QEXCEL VBA コンボボックス、テキストボックスが未入力のときメッセージを表示する方法

ユーザーフォームにコンボボックス2個textboxが2個あります
コンボは選択のみです。
コンボとtextbox1は入力必須にして、空欄でコマンドボタンが押された時はメッセージを表示したいです
OKwebを参考に作ったのですが、コンボ1が空欄でもMsgが出ません
願いします

Private Sub CommandButton1_Click()
Dim ctrl As Control, tst1 As String, txt2 As String
Dim ws As Worksheet

Set ws = Sheets("sheet1")
For Each ctrl In Me.Controls
Select Case ctrl.Name
Case "ComboBox1", "ComboBox2", "TextBox1"
If Me.Controls(ctrl.Name).Value = "" Then
txt1 = txt1 & ctrl.Name & vbLf
Else
txt2 = txt2 & Me.Controls(ctrl.Name).Value & vbLf
End If
End Select
Next
If Len(txt1) > 0 Then
MsgBox "以下の値を入力してください" & vbLf & txt1, vbExclamation
Exit Sub
Else
ret = MsgBox("以下の値を入力します" & vbLf & txt2, vbOKCancel)
If ret <> vbOK Then Exit Sub

ユーザーフォームにコンボボックス2個textboxが2個あります
コンボは選択のみです。
コンボとtextbox1は入力必須にして、空欄でコマンドボタンが押された時はメッセージを表示したいです
OKwebを参考に作ったのですが、コンボ1が空欄でもMsgが出ません
願いします

Private Sub CommandButton1_Click()
Dim ctrl As Control, tst1 As String, txt2 As String
Dim ws As Worksheet

Set ws = Sheets("sheet1")
For Each ctrl In Me.Controls
Select Case ctrl.Name
Case "ComboBox1", "ComboBox2", "...続きを読む

Aベストアンサー

こんにちは。

バグらしいバグは掲載されたソースからは読み取れません。ComboBox に
どのようにデータを追加しているのか、どのようなデータなのかあたり
からも検証しないと。

また、ソースが途中で途切れてますよ。ちゃんと End Sub まで、掲載して
下さい。

とりあえず、新規ブックで Userform を挿入し、

 ・Textbox1
 ・ComboBox1
 ・ComboBox2
 ・CommandButton1

をそれぞれ配置してから、下記ソースを貼り付けて動かしてみて下さい。

Private ws As Worksheet

Private Sub UserForm_Initialize()
  
  Set ws = Sheets("sheet1")
  
  ' // ComboBox 用テストデータ作成
  ws.Cells.Delete
  With ws.Range("A1:C10")
    .Formula = "=""R""&ROW()&""C""&COLUMN()"
    .Value = .Value
  End With
  With ws.Range("D1:D10")
    .Formula = "=""ITEM""&ROW()"
    .Value = .Value
  End With
  ' // 選択 ONLY のコンボボックス(fmStyleDropDownList)に
  ' // データを追加する
  With Me.ComboBox1
    .Style = fmStyleDropDownList
    .ColumnCount = 2
    .List = ws.Range("A1:C10").Value
  End With
  With Me.ComboBox2
    .Style = fmStyleDropDownList
    .List = ws.Range("D1:D10").Value
  End With

End Sub

' // Style が fmStyleDropDownList のコンボボックスで値を消去できるようにする
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 8 Or KeyCode = 46 Then ' 8:backspace / 46: delete key
    ComboBox1.ListIndex = -1
  End If
End Sub
Private Sub ComboBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 8 Or KeyCode = 46 Then ' 8:backspace / 46: delete key
    ComboBox2.ListIndex = -1
  End If
End Sub

Private Sub CommandButton1_Click()

  Dim ctrl As Control, txt1 As String, txt2 As String
  Dim ret As Integer
  
  For Each ctrl In Me.Controls
    Select Case ctrl.Name
      Case "ComboBox1", "ComboBox2", "TextBox1"
        If Len(Trim$(ctrl.Text)) = 0 Then
          txt1 = txt1 & ctrl.Name & vbLf
        Else
          txt2 = txt2 & ctrl.Text & vbLf
        End If
      Case Else
    End Select
  Next
  
  If Len(txt1) > 0 Then
    MsgBox "以下の値を入力してください" & vbLf & txt1, vbExclamation
    Exit Sub
  Else
    ret = MsgBox("以下の値を入力します" & vbLf & txt2, vbOKCancel)
    If ret <> vbOK Then Exit Sub
  End If

End Sub

追伸:: ....余計なお世話ですが。

■1点目: 変数名が違います。

> Dim ctrl As Control, tst1 As String, txt2 As String

txt1 As String ですよね。このようなミスを防ぐ意味で、Option Explicit
を宣言のうえ、プログラムを作成する習慣をつけた方が、上達が速いですよ。

■2点目: For Each ループについて

For Each ctrl In Me.Controls のループで

> Me.Controls(ctrl.Name).Value

とするのは、折角 For Each を使う意味が無くなってしまいますから、
そのまま ctrl.value とか、ctrl.text で使って下さい。

こんにちは。

バグらしいバグは掲載されたソースからは読み取れません。ComboBox に
どのようにデータを追加しているのか、どのようなデータなのかあたり
からも検証しないと。

また、ソースが途中で途切れてますよ。ちゃんと End Sub まで、掲載して
下さい。

とりあえず、新規ブックで Userform を挿入し、

 ・Textbox1
 ・ComboBox1
 ・ComboBox2
 ・CommandButton1

をそれぞれ配置してから、下記ソースを貼り付けて動かしてみて下さい。

Private ws As Worksheet

Private Sub ...続きを読む

Q【エクセル】テキストボックスのサイズを他のテキストボックスにもコピーできますか?

こんにちは、みなさん!!

AとういうテキストボックスのサイズをBとういう
テキストボックスのサイズにコピーできますか?

例えば、テキストボックスAの幅が3高さが1だとします。
テキストボックスBのサイズをAと同じにするには、書式
設定から、高さ幅3高さ1と入力して同じサイズのテキスト
ボックスにします。

これを、もう少し簡単にできる方法はありませんか?

ご存知の方いらっしゃいましたらよろしくお願いします。

Aベストアンサー

すでにあるテキストボックスなら、
Shiftを押しながら選択すると、
A、Bのテキストボックスを同時に選択することができます。
複数同時に選択したところで、書式設定すればいいと思います。

QExcel2003でテキストボックスの文字が背景とずれる

Excel2003で困っています。
罫線で表を作り、その上にテキストボックスの文字を配置すると、画面上は良いのですが、プレビューしたり印刷するとずれてしまいます。
使っているフォントは等幅のMS明朝です。
OSはXP HomeEditionです。
ずれなくする方法を教えてください。
よろしくお願いします。

Aベストアンサー

エクセルでは画面上と印刷では異なることは理解されている事と思います。

ずれなくする(見た目と印刷を同じにする)のであれば、印刷用のシートを用意し、そこに図(ピクチャ)として貼り付ければ出来ます。

・表も入れるということなので、元のシートの[枠線]を非表示にしておきます。
・印刷範囲を選択。
・メニューの[編集]を[Shift]キーを押しながら開くと、[図のコピー]があるので選択。
・[図のコピー]のダイアログで[画面に合わせる]→[ピクチャ]→[OK]
・貼り付け先のシートを開き貼り付けます。

図(ピクチャ)なので編集や元データとのリンクは出来ませんが、見た目と同じに印刷できます。

Qエクセルの印刷プレビュー画面で図形がずれる?

前回「Office2000」で図形(円)の真ん中を透明にして、チェックマークを作るやり方を教えてもらったものですが、今回このようなことで困っています。

はい    いいえ

上記の文字上(例えば「はい」)に図形(円)を持って行き、透明にします。
そして印刷プレビューを見ると、「はい」の左側に図形が来てしまっています。もちろん印刷結果も「はい」にチェックされておりません。

ここで「いいえ」に図形(円)を持って行き、透明にすると、やっぱし左側に若干ずれ、ちょうど「はい」にチェックされているような感じで出来上がります。

このような現象をなおすにはどうしたらいいのでしょうか?

説明下手で意味が分からないという方はどこの意味がわからないとおっしゃってくれれば追加説明します。

よろしくおねがいします。

Aベストアンサー

画面と印刷が一致しないのは、エクセルの欠陥です

最初から、「はい」「いいえ」の文字入りの図形を貼り付けてはどうでしょうか

Qエクセル2000と2003の印刷プレビュー画面の違い?

 PCを2基使用しており、N0.1号機にはエクセル2000、NO2号機にはエクセル2003をインストールしてあるのですが、2000で印刷プレビュー画面を開くと、○/○のページで(1枚に収まらない場合)画面左下に表示されますが、2003ですと画面を開いても、○/○のページの表示が出ていません。
 
タスクバーに隠れているのかと思い、表示を変更したり、画面サイズを変更したりしましたが、このページ表示が出てきません。元々、2003には表示されないものなのでしょうか?

 前々から気付いてしていましたが、最近複数ページになってしまうエクセルファイル・シートを扱うことが増えてページ数を切り詰めたり、集約しなくてはならないことが多くなりました。

 初期書式余白設定において(設定変更しない時)印刷するシートの全体のページ数を把握できるよう、2003で表示させれられる方法はないのでしょうか?

Aベストアンサー

印刷プレビュー画面で、左下に「現在のページ数/総ページ数」が表示されるのは、エクセル2000でも2003でも同じです。

ウィンドウのサイズを変更して駄目なら、
唯一考えられる理由として、
ツール→オプション→表示タブの
「ステータス バー」の(左側にある)チェックボックスが入っていないのが原因なのではないかと思うのですが、どうでしょうか。


人気Q&Aランキング

おすすめ情報