「ちょっと話題を変えるけど、複数のプリンターがインストールされているパソコンでの
プリンターの切り替えるテクニックを紹介しますね。」
ちなみに、先ほどのメールの送信に使用しましたファイルにボタンを追加
Sub ボタン2_Click()
Range("C2").Value = Application.ActivePrinter
End Sub
を作成して、ボタンをクリックすると、 C2セルに 現在、アクティブなプリンターの名前が表示されます。
試しに、印刷で、プリンターを他のプリンターに切り替えた後に、ボタンをクリックしてみて下さい。
C2セルの表示も変わります。
さて、皆さんのパソコン(Windows7以降)には、Microsoft XPS Document Writer がインストールされています。
Microsoft XPS Document Writer は、PDF Writet(有料)に対してMS社が無料で
Windowsに標準装備してくれた、PDFと同じように印刷画面をファイルにするプリンターです。
では、このプリンターを使用して、エクセルの印刷画面をファイルにしてみます。
プログラムの流れは
・現在のプリンターの名前を憶えておく
・Microsoft XPS Document Writer に切り替える。
・印刷する(印刷画面をファイルにする)
・元のプリンターに戻しておく
です。この操作をVBでプログラムで表記すると
Dim MyPrt As String
MyPrt = Application.ActivePrinter
Application.ActivePrinter = "Microsoft XPS Document Writer on Ne00:"
ActiveSheet.PrintOut printtofile:=True, PrToFileName:=ThisWorkbook.Path & "\サンプル.xps"
Application.ActivePrinter = MyPrt
と5行ほどで可能です。
この様なテクニックがあるという事を覚えておいて、必要な時にコピーして使いましょう。
(プログラマーて難しいコードがもっと沢山書くものだと思っていたけど
ちょっとイメージが違っていたのかな?)
はい、テクニックを理解したら、コピーして組み合わせていくのが手っ取り早いです。
※Dim MyPrt As Stringの Stringは文字型(文字列)としますという変数の型設定です。
エクセルVBAの場合は省略していただいても結構ですが、練習だと思って記述しておきましょう。
先ほどのメールの添付ファイルに印刷画面をファイルとして添付する場合のコードが
エクセル マクロ入門(プリンターの切り替え Xps Document Writer)
に紹介してあります。
メール送信にテクニックとプリンターの切り替えのテクニックの組み合わせです。
「天真さん、このコードを使ってもう一度見直ししてみましょう。ご苦労様でした。今日はここまでにしましょう。お昼でも食べに行きますか?」
「今日は、いつものお礼にサンドイッチを作ってきましたの皆さんで食べて下さい。」
天真さんが大きなバックを開けて、出てきたのがサンドイッチのバスケット。
「うわ~、おいしそう、ありがとうございます。皆で食べましょう」冴子先生も音無さんも戻ります。
「おっちゃん。いつものコーヒーいれて、あれ本当においしいよ。」
天真さんは、おっちゃん を丁寧語だと覚えたようです。
「ところで 天真 爛漫さんの本当の名前は何ですか?」
(ちょっと無口になる天真さん、どうも苦手な質問??)
「それは、内緒です。こちらの会社でも、色々あって今の呼び名になって気にっていますから」
(その理由を知っている山田君が、ふふふ と苦笑いします)
今のところ、天真 爛漫さんの本名は秘密という事にしておきます。
「ところで、音無さんは何の仕事をされているのですか?」と天真さんが質問
(お~と、良い質問するじゃない)山田君
「大した仕事ではないですよ。土日が休みなのが良い所かな?」
「彼氏とかは?」(そうだ、頑張れ天真!!)
「それは私の秘密にしておいて」
がっくりと肩を落とす山田君でした。
「食事が終わったら、二人で職場の仕事をもう一度、考えてみたらどうですか?
今朝のファイルも一緒に見てみますから。」さすがに冴子先生です。
「この部屋自由に使ってもらっていいよ。私は昨夜飲みすぎたの一眠りさせて・・」
と二階へ上がる塾長です。
(え~、女性が二人、でも 天真が邪魔・・・、いや、うまく使えば・・・)心のつぶやき:山田