プロが教える店舗&オフィスのセキュリティ対策術

全く同じマクロを同じパソコンで使っているのにエラーになったりならなかったりします。

以前の質問で教えていただいた方法で
原因となる場所は特定できたのですが何がよくないのかがわかりません。

問題のコードは
「ActiveSheet.PageSetup.PrintArea = "$A$1:$B$2"」
で、
エラーメッセージは
「実行時エラー '1004' PageSetupクラスのPrintAreaプロパティを設定できません。」
というものです。

一体何がよくないのでしょう?

A 回答 (5件)

Excel のページ設定は、プリンタドライバに情報を問い合わせますので、


有効なプリンタドライバが PC にインストールされてないと、一切ページ
設定などの印刷絡みの操作はできません。

逆に言えば、ドライバさえあれば、プリンタはオフラインでもページ設置
は可能なんです。ここを踏まえ、

> 会社のパソコンなのでプリンタにはLAN経由で接続しています。
> いつでも印刷できる状態です。

とすれば、VBA ソースコード側の問題でしょう。

>「ActiveSheet.PageSetup.PrintArea = "$A$1:$B$2"」

ここで言う ActiveSheet がアクティブの状態でないと実行時にエラー
になるかもしれません、、多分...

できれば、ActiveSheet を使わない書き方がベストですが、どうしても
シートを固定させたくないのであれば、

  Selection.Select '<--追加
  ActiveSheet.PageSetup.PrintArea = "$A$1:$B$2"

で、どうでしょう。違うかな...?(自信なし)
    • good
    • 0
この回答へのお礼

質問後も試行錯誤を続けていたのですが、同じパソコンではあるものの、マクロ実行前の状態が違っていました。申し訳ありません。

どうも「オブジェクトの選択」ボタンが有効になっている時にエラ-になり、無効の時には問題なく動くようです。

幸いこのボタンのオン/オフの方法は既知でしたので一応、問題は解決しました。お騒がせしました。

お礼日時:2006/06/26 21:02

マクロはどのアプリケーションから実行されていますか。


ActiveXコントロールのイベントプロシージャ内に記述されているのでしょうか。
    • good
    • 0
この回答へのお礼

コメントありがとうございます。
かなり煮詰まっていたもので近視眼的な思考に陥っていました。
「マクロ=エクセル」ぐらいの狭い視野で説明が疎かになっていました。
今後は気をつけます。

お礼日時:2006/06/26 21:03

プリンタドライバ が インストール されていないと、


ページ 設定を実行できません。

ドライバ はインストールされてますか?
    • good
    • 0
この回答へのお礼

皆様、コメントありがとうございます。
会社のパソコンなのでプリンタにはLAN経由で接続しています。
いつでも印刷できる状態です。

お礼日時:2006/06/26 13:31

実行時にプリンタ側の電源が入っていないとか?


最近のは、プリンタに印刷命令が行って自動的に電源ONになりますが
タイミングによっては上記のメッセージが出ます。
    • good
    • 0

(自信を持った回答ではありません)


プリンタはちゃんと使用できる状態でしょうか。
ひょっとしてプリンタ未接続とか使用できない状態のときにエラーがでていないでしょうか。
ご確認下さい。
    • good
    • 0

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

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