横長のフォームをそのまま印刷したいのですが、そのままPrintformで
印刷すると、全体が印刷されずに横が切れてしまって困ってます。
印刷方向を横に変更する方法がわからないし、用紙に合わせてサイズを変更
というようなこともいくらか調べてみたのですが、手元の解説書、数冊を
読んでみても全くやりかたが分からなくて困ってます。

フリーの印刷関係のモジュールなんかでもいいので、いい方法を教えてください。

頼まれたプログラムを完成させなければならない期限がもうすぐなので、
出来るだけ早く知りたいです。どうかよろしくお願いします。

A 回答 (1件)

用紙方向はPrinterオブジェクトのプロパティで変更できます。


横向きは
Printer.Orientation = vbPRORLandscape
縦向きは
Printer.Orientation = vbPRORPortrait
    • good
    • 0
この回答へのお礼

あっ、これだけのことだったんですね。とっても初歩的なことですいません。
プログラミングの経験が浅く、プリンタに情報を出力するようなものは
今まで作ったことがなかったので、どうすればいいのかわからなかったのです。
ありがとうございました。

お礼日時:2002/02/01 19:10

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

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

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

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

QAUTOCADをPDF変換して印刷したいのですが

AUTOCADをPDFに変換して印刷たいのですが
PDFでPC上ちゃんと見える線が印刷するとその線だけ消えています。
ワイプアウトで一部隠れてるのが原因かと思ったのですが
ちゃんと出てる図面もあります。

PDFをどうにかして印刷できないでしょうか?

AUTOCAD2010でDWG to PDFでPDF変換してます。
Adobe® Acrobat® 8 Standard を使ってます。

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

Aベストアンサー

AutoCAD2010より低いバージョンでの話になるので参考までに。

新規作成した時に最初にできる「0」というレイヤーは印刷のときに不具合をおこす場合があるようです。
(印刷時に印刷されない等)

一度「0」のレイヤー内のオブジェクトを新たに作ったレイヤーに移して見てください!

また、Adobe Acrobatがインストールされている場合は
DWG to PDFではなく、「印刷→Adobe PDF→ファイルへ出力にチェック」を試してください!こちらの方が線がきれいにでると思います。

以上。
健闘を祈ります!!

Qエクセル VBA 印刷モジュール

お願いします。シートは2枚。Database とReportです。reportにvlookup関数を使って生徒一人一人の成績を出し、順番に356人分を印刷したいのですが、ループ関数を使っても同じ人間のデータが
ループ指定の枚数で出てきてしまします。以下、記述式を書きます。データはDatabaseシートに入っており、一列目出席番号、二列目氏名、3、4、5列目は英数国という科目の得点になっています。
それをReportシートでVLOOKUP関数で呼び出して印刷するには、どう書き換えたらよいのでしょうか?お忙しいとは思いますが、ご教示くださいませ。

以下記述
'---------- ここから ----------

'■■■個人票印刷マクロ■■■

Sub 個人票印刷()
'変数の宣言
Dim i As Integer
Dim MySheetName As String

'確認メッセージの表示 (キャンセルの場合マクロを抜ける)
If MsgBox("個人票の印刷をはじめます。" & Chr(13) & Chr(13) _
& "プリンタの準備はよろしいですか?", vbOKCancel) = vbCancel Then
Exit Sub
End If
'アクティブシートのシート名取得
MySheetName = ActiveSheet.Name
'画面表示更新の停止
Application.ScreenUpdating = False
'印刷用シートの選択
Sheets("Report").Select '【1】
'印刷ループ開始
For i = 1 To 40 '【2】
'出席番号の代入
Range("A1").Value = i '【3】
'印刷
ActiveSheet.PrintOut
Next i
'元のシートに戻る
Sheets(MySheetName).Select
'画面表示更新の許可
Application.ScreenUpdating = True
'確認メッセージの表示
MsgBox "個人票の印刷が終わりました。"
End Sub

'---------- ここまで ----------


初心者なので、ころがっているものをコピペしてみたのですが。

お願いします。シートは2枚。Database とReportです。reportにvlookup関数を使って生徒一人一人の成績を出し、順番に356人分を印刷したいのですが、ループ関数を使っても同じ人間のデータが
ループ指定の枚数で出てきてしまします。以下、記述式を書きます。データはDatabaseシートに入っており、一列目出席番号、二列目氏名、3、4、5列目は英数国という科目の得点になっています。
それをReportシートでVLOOKUP関数で呼び出して印刷するには、どう書き換えたらよいのでしょうか?お忙しいとは思いますが、ご...続きを読む

Aベストアンサー

VlookUp の場合ですが、私は、以下のように書き換えればよいかと思いますが……VlookUpは、古くからある関数ですが、オブジェクト範囲を引数にして抱え込んでいますので、その分、重く、エラーも排出します。VlookUpそのものの範囲さえ分かりすさえすれば、そのまま、数式さえも、VBAで置き換えることは可能です。

    On Errror Resume Next 'エラーを無視する
    For i = 1 To Lastrow 'ここは、1からという意味で、数が定数なら、Lastrow よりも、To 356 のほうがよいでしょう。
      .Range("A1").Value = i  '//**変更**
      .PrintOut
      '.PrintPreview True  'プレビューになります。
      DoEvents 'Esc で離脱可能にする
''      Sleep 300 '余裕を300ミリ秒を取る //これは辞めたほうがよいかも
    Next i
    On Errror Goto 0

Qillustrator10、印刷可能範囲だけPDFに変換できますか?

よろしくお願いします。

友達にweb上でチラシを見てもらおうとしてます。

pdfに変換してweb上にアップして、友達の自宅PCにて確認してもらおうとしてますが、
PDF変換すると、画像がある範囲すべてがPDF変換されてしまいます。

プリンタで印刷できる範囲のみだけにしたいのですが、イラレで表示されている印刷可能範囲の点線の内側のみをPDF変換することは可能でしょうか?

Aベストアンサー

色々やり方はあると思いますが、私なら・・・。

1)まず、元データを「複製を保存」か「別名で保存」で保存しておきます。

2)で、すべてのレイヤーを1つにまとめて、印刷範囲の白ベタを作って【最前面】に配置します。

3)そのまま、すべてを選択して「メニューバー→オブジェクト→クリッピングマスク」を実行します。

4)これで印刷範囲のデータ出来上がり。

5)「別名で保存」か「データの書き出し」でPDFデータを作って終わり。

QPrintFormを使用してのプリント

下記のようにフォームのCAPTIONにデータを代入していき、FormPrint にてフォームをプリントしています。

Frm_A.Lbl_bookno(H_cnt).Caption = data
  :
  :
Frm_A.PrintForm

ただ、使用するPCによって、またはプリンターによって、フォームの下半分が印刷されなかったり、右にづれたりして、一定の出力結果が得られません。
何か一定の結果が得られるようにする方法はないでしょうか?

Aベストアンサー

>PrintForm
これって、環境に左右されますよね。
ユーザの環境を指定できる業務用でなければ、あまりに流動的なメソッドなので、個人的にはデバッグ用のメソッドと思っております。


代用になるかどうかわからないけど、画面をキャプチャして、Printerオブジェクトに送る手段もあります。
欠点:画面の上に別のウィンドウが存在していたら、それまでキャプっちゃう。。。
利点:プリンタオブジェクトを操作するので、画像をプリンタに送るときに、転送サイズを指定することで、縮小拡大が思いのまま!


その欠点を理解した上で
http://www.geocities.co.jp/SiliconValley-Cupertino/8157/
の8番目をどうぞ

Qコンビニword印刷、PDF変換でok

コンビニでusbに保存したwordをPDFにへんかんすればどこのコンビニからでも印刷できますでしょうか?

パソコンは今ネット環境がありません
なのでusbを使い、印刷するしか方法が無く印刷したいものが3枚ほどなので漫画喫茶は高くなるし困っています。
詳しい方教えてください
ちなみにPDF変換をしないとwordはどこのコンビニも印刷不可ということでしょうか?

Aベストアンサー

PDFであれば、多くのコンビニで備えているマルチコピー機を使って印刷できます。
Windowsのエクスプローラーのようにフォルダーが表示されるので、
フォルダー内のファイル(PDF)選択も簡単です。
wordの印刷機能はありません。

Q印刷枚数を指定して印刷(印刷しないシートを含む場合)

マクロ(VBA)の超超初心者です。
エクセルのブックの全シート(13sheet)の印刷を1つのシートで管理するマクロを作りたいと思っています。

下記のマクロでチェックしたシートのみ印刷することは可能になりました。

Sub チェックしたシートの印刷()
Dim rng, shChk, PrtSh
For Each rng In Range("IDX")
If rng.Offset(0, -1) = 1 Then
shChk = shChk & rng.Value & ","
End If
Next
shChk = Left(shChk, Len(shChk) - 1)
PrtSh = Split(shChk, ",")
Sheets(PrtSh).Select
ActiveWindow.SelectedSheets.PrintOut
End Sub

そこにさらに印刷枚数を指定して印刷したいのですが、下記のマクロだと、0枚(印刷しないときの)の設定ができません、、、
0枚でもマクロを実行できるよにするにはどうしたらよいのでしょうか、、、
さらに、このマクロを簡単に書きたいのです。(ほぼ同じことの繰り返しなので、、、、)

Sheets("sheet1").PrintOut Copies:=Range("A1").Value
Sheets("sheet2").PrintOut Copies:=Range("A2").Value

    ・

Sheets("Sheet13").PrintOut Copies:=Range("A13").Value
End Sub

超超初心者があつかましい質問ですが、ご教授のほうよろしくおねがいいたします。

マクロ(VBA)の超超初心者です。
エクセルのブックの全シート(13sheet)の印刷を1つのシートで管理するマクロを作りたいと思っています。

下記のマクロでチェックしたシートのみ印刷することは可能になりました。

Sub チェックしたシートの印刷()
Dim rng, shChk, PrtSh
For Each rng In Range("IDX")
If rng.Offset(0, -1) = 1 Then
shChk = shChk & rng.Value & ","
End If
Next
shChk = Left(shChk, Len(shChk) - 1)
PrtSh = Split(shChk, ",")
Sheets(PrtSh).Se...続きを読む

Aベストアンサー

こんなのは?
If Range("A1").Value > 0 Then Sheets("sheet1").PrintOut Copies:=Range("A1").Value
If Range("A2").Value > 0 Then Sheets("sheet2").PrintOut Copies:=Range("A2").Value

Qイラストレータ→PDF変換で、必要な部分だけ印刷したい

イラストレータCSで作成したものを、
イラストレータがインストールされてないパソコンから印刷したいため、
PDFファイルに変換して印刷しようと思っています。
しかし設定用紙サイズの枠外まで絵を描いてしまったので
PDFファイルにするとその印刷部分外まで一緒に保存されてしまい、
希望の用紙サイズとは全く違うサイズになっていまいます。

トンボなどは設定できるようですが、画像サイズの設定をして
そこだけPDF保存、ということは出来るのでしょうか?
若しくは印刷段階で「真ん中のここだけ印刷」みたいなことは出来るのでしょうか?
スライスを使用したりして多少の悪あがきはしてみましたが…
これが限界のようです。
何か良い知恵があれば是非是非ご教授のほどお願いいたします。

また、PDFファイルに変換すると絵全体が白っぽくなるのですが…
これの回避の仕方などはあるのでしょうか?
過去の質問を見たのですがMacでの質問しか見つけられなかったので、
これも一緒に質問させていただきます。

因みにパソコンはWin2000(イラレ搭載)とWinXP(印刷用)、
使用してるのはAcrobat Reader 5.0になります。
他足りない情報があればご指摘くださればすぐに補足させて頂きます。
どうぞよろしくお願いいたします。

イラストレータCSで作成したものを、
イラストレータがインストールされてないパソコンから印刷したいため、
PDFファイルに変換して印刷しようと思っています。
しかし設定用紙サイズの枠外まで絵を描いてしまったので
PDFファイルにするとその印刷部分外まで一緒に保存されてしまい、
希望の用紙サイズとは全く違うサイズになっていまいます。

トンボなどは設定できるようですが、画像サイズの設定をして
そこだけPDF保存、ということは出来るのでしょうか?
若しくは印刷段階で「真ん中のここだけ印刷...続きを読む

Aベストアンサー

「書類サイズ」が大きいのではないでしょうか。それを用紙サイズと同じにしてからpdfで保存すればその範囲のものしかできないと思います。
当方CSは使っていませんが同様では?違っていたらゴメンナサイ。

Q条件にあうデータ抽出のやりかたについて

エクセルVBAの初心者です。現在エクセルを使って次のような顧客リストを作っています。

 ID 氏名 商品A 入金 商品B 入金
 1  AA 55円  済  65円  未 
 2  BB 66円  未  85円  未
 3  CC 41円  未  32円  済
このようなリストからVBAを使って、次のような集計表を自動作成したいと試行錯誤しています。
 未納者一覧
 ID 氏名 商品名 単価 入金状況
  1 AA 商品B 65円 未
  2 BB 商品A 66円 未
       商品B 85円 未
  3 CC 商品A 41円 未
自分なりに入門書を片手にいろいろと試しては見たのですが、なかなかうまく行きません。どなたかご指導願えないでしょうか。
なお、現在の顧客データは150名ほど入力しています。
商品の種類は23種類です。
 

Aベストアンサー

(例データ)
氏名商品A入金商品B入金商品C入金
中井55円済65円未
高井66円未85円未
上井41円未32円済33円未
高井16円未21円未
大川9円未74円済75円未
高井34円未127円未
杉井35円済128円未
(VBA)
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
'----A
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
'-----B
d = sh1.Range("A2").CurrentRegion.Rows.Count
' MsgBox d
k = 1
For i = 2 To d
For j = 3 To 20 Step 2
If sh1.Cells(i, j) = "未" Then
sh2.Cells(k, "A") = sh1.Cells(i, "A")
sh2.Cells(k, "B") = sh1.Cells(1, j - 1)
sh2.Cells(k, "C") = sh1.Cells(i, j - 1)
sh2.Cells(k, "D") = sh1.Cells(i, j)
k = k + 1
End If
Next j
Next i
'-------
sh2.Range(Cells(1, 1), Cells(k - 1, 4)).Select
Selection.Sort Key1:=sh2.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
End Sub
(結果)
高井商品A66円未
高井商品B85円未
高井商品A16円未
高井商品B21円未
高井商品A34円未
高井商品B127円未
上井商品A41円未
上井商品C33円未
杉井商品B128円未
大川商品A9円未
大川商品C75円未
中井商品B65円未
ソート後名前が前行と同じとき空白は、判るだろうと手抜き。
・For j = 3 To 20 Step 2は3,5,7,・・19の9列を
Maxに考えてますが適当に修正を。
・d = sh1.Range("A2").・・やFor i = 2 To d
は実際に合わせて適当に。

(例データ)
氏名商品A入金商品B入金商品C入金
中井55円済65円未
高井66円未85円未
上井41円未32円済33円未
高井16円未21円未
大川9円未74円済75円未
高井34円未127円未
杉井35円済128円未
(VBA)
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
'----A
Set sh1 = Worksheets("Sheet1")
Set sh2 = Worksheets("Sheet2")
'-----B
d = sh1.Range("A2").CurrentRegion.Rows.Count
' MsgBox d
k = 1
For i = 2 To d
For j = 3 To 20 Step 2
If sh1.Cells(i, j) = "未" Then
...続きを読む

Qエクセルファイルを印刷のところからPDFに変換

こんにちは。
会社で私が使ってるパソコンだけが、ファイルメニューの印刷を選んで、出てきた印刷ウインドウの中にプリンターの名前と一緒にAdobe PDF とあるので、それを選択すると簡単にPDFファイルに変換出来ます。
これは他のパソコンには入っていないようです。他の人が同じようにしてくれと言ってきますが、私もどうしてこうなっているのか記憶にありません。何かのプラグインが入っているのでしょうか?

ウインドウズXP で オフィス2000です。

よろしくお願いします。

Aベストアンサー

Adobe Acrobat が導入されていると考えるのが普通でしょう。
http://www.kit-systems.co.jp/webkcore/maketemplate9/maketemplate9-2.htm

http://dopub.jp/aboutpdf.php
でそう表示されています。

ちなみに「CubePDF」ではAdobe PDFとは表示されず、CubePDFと表示されます。
http://www.atmarkit.co.jp/fwin2k/win2ktips/1331cubepdf/cubepdf.html

QDataReportでA4横長の帳票を作りたい

VB6.0で開発を行っています。
DataReportでA4横長の帳票を作りたいのですが
フォーム上ではレイアウトが作れても
実行すると「レポートの幅が用紙の幅より大きく指定されています。」
というエラーが出て開けません。
各マージンを0にしたり、試行錯誤しているのですが
時間ばかりが過ぎていきます。
どなたかやり方を知っていたら是非教えてください。

Aベストアンサー

DataReportの用紙設定を変更する場合、通常使うプリンタをAPIで直接
変更しなければなりません。

参考URLの「プリンタの設定を変更する」が参考になると思います。

参考URL:http://www.galliver.co.jp/writing/nikkei_tokushu/prn908/index.html


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

人気Q&Aランキング

おすすめ情報