すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

エクセルのマクロ設定で 自動で印刷時のプリンター設定が出来るようにしたいのですが、どうしたら良いでしょうか?

===補足===
エクセル2003です!
パソコンに繋がっているたくさんのプリンターの中から自動で目的のプリンターを選んで印刷したいです。宜しくお願いします。

  • 質問者:エクセル教えてください。
  • 質問日時:2009-12-14 13:56:39
  • 1

並び替え:

「ExcelVBA」を使用します。

VBAはエクセルを自動化する言語です。
Vlookup関数を用いてVBAを仕上げて行きます。
下のURLをご覧ください、順番に見て行くと必ずご理解頂けると思います。

http://www11.plala.or.jp/koma_Excel/contents4/mame4034/mame403401.html
http://www11.plala.or.jp/koma_Excel/contents4/mame4034/mame403402.html
http://www11.plala.or.jp/koma_Excel/contents4/mame4034/mame403404.html
http://www11.plala.or.jp/koma_Excel/contents4/mame4034/mame403405.html

*OSやソフトウェアに関しての質問は、そのバージョンを書きこまないと的外れな答えが
 返って来ますよ。
 今回の場合もExcelの何ですか?2003?2007?それぞれ、微妙に違うんですよ。

===補足===
補足を読みました。
エクセルを自動的に複数のプリンターから1台を選んで自動的に印刷する設定なのですね??
エクセル使用時のみに使うプリンターを選択するやり方を聞いているのでしょうか?
例えば5台のプリンターがあって、Wordは1番から出力、Excelは2番から出力、Net情報は3番から出力、・・・
というようなやり方を聞いているのですか??
補足できるのはシステム上、1回限りなのでその場合を想定して書きます。

<マクロの自動記録でプリンター名を取得>
1. 【ツール】【マクロ】【新しいマクロの記録】で、マクロの保存先を作業中のブックにしOKすると、記録終了ボタンがシートに表示されます。
 2. 【ファイル】【印刷】でプリンタの名前を変更し、OKしないで閉じます。
 3. 記録終了ボタンを押し、マクロの自動記録を終了します。
   Alt+F11を押すと、記録したコードが表示されます。

<プリンターの切り替え>
*ただし、PCに直接プリンターが接続されている場合に限る。ネットワークプリンターは別。このプリンター接続状況も書かれていないので不明・・・

現在アクティブになっているプリンタ名を取得・設定するプロパティです。このプロパティには、コントロールパネルの「プリンタ」で設定されたプリンタ名と出力ポート番号を組み合わせたものが、プリンタ名として格納されます。
たとえば、「EPSON MJ-800C on LPT1:」や「OKI MICROLINE 400PSII on LPT1:」という名称になります。
アクティブなプリンタを切り替える場合は、このような記述の使用可能なプリンタ名をこのプロパティに設定することで、「印刷」ダイアログボックスで指定するプリンタを設定します。
ただし、この設定は、Excelで印刷を実行する時だけ有効です。

<書式>
Application.ActivePrinter = プリンタ名
【属性】 プロパティ
【所属オブジェクト】 Application
【操作対象オブジェクト】 Application

(記述例)
Application.ActivePrinter

<使用例>
<使用例 フィールド2に「トップテン」抽出を行う>
Sub オートフィルタの操作2()
With Worksheets("Sheet1")
.ShowAllData
.Range("A5").AutoFilter field:=2, Criteria1:=10, _
Operator:=xlTop10Items
End With
End Sub

最初のShowAllDataメソッドで「すべて表示」になります。

With Worksheets("Sheet1")
.ShowAllData

そして、改めて引数「field」に「2」をセットし、「Operator」に「xlTop10Items」をセットしてAutoFilterメソッドを実行すれば、列「合計」の「トップテン」が表示されます。

.Range("A5").AutoFilter field:=2, Criteria1:=10, _
Operator:=xlTop10Items

以上です。VBAプログラミング言語が理解できれば、簡単です。

  • 回答者:バージョンは??????? (質問から2時間後)
  • 0
この回答の満足度
  

関連する質問・相談

Sooda!からのお知らせ

一覧を見る