
いつもお世話になります。
エクセルのイメージコントロールを使用しているのですが、
なかなかうまく行かないので、アドバイスをお願いします。
シートにイメージコントロールをいくつか(8個)配置しました。
マクロで LoadPicture を使用し画像を読み込ませました。
Rangeで範囲を指定して印刷しました。
一旦、Sheet1.Image1.Picture = Nothing と開放しました。
そのイメージコントロールに別画像を LoadPicture させました。
同様に印刷させましたが、画像は最初に読み込ませたもののままです。
マクロが終了して見ると、最新の画像に更新されているのですが、
印刷したものでは(プリビューでも)更新されません。
Redraw させたり Refresh させるコマンドはないかと思いましたが見つかりません。
同じマクロで画像のコメントをセルに表示させているのですが、
こちにはどんどん更新しています。
画像だけが、最初に読み込んだ画像のままで印刷されてしまいます。
印刷範囲は常に同じです。
原因なり対処法なりをお教え下さいますようお願いします。
No.2ベストアンサー
- 回答日時:
こんにちは。
原因はお分かりのようなので回避策を。。
再描画させてから印刷させる為にPrintOut (or PrintPreview)の前に次の2行を挿入
For i = 1 To 1000: DoEvents: Next i
Application.Wait Now() + TimeValue("00:00:03")
Forのカウンターの上限は適宜変更。
また、Application.Waitはなくても上手くいくとは思いますが念のため。。
DoEvents,Waitはご自分でお調べください。
以上です。
ありがとうございます。
一旦戻る方法か、待って様子を見る方法を考えてみていました。
DoEventsは思いつきませんでした。
おかげさまで解決できました。
また機会がございましたら、よろしくお願い致します。
No.3
- 回答日時:
こんにちは。
No.2さんのコードで解決だと思いますが、
経験上、
DoEvents: DoEvents
の2回で大丈夫なような気もします。
(Application.Waitなし)
WorksheetにActiveXコントロールを貼り付けて似たような事をする場合は
一度OSに制御を渡さないといけないという事なのでしょうね。
DoEvents1コじゃなぜダメなのかは知りませんけど。^ ^;
ありがとうございます。
確かに2回で大丈夫でした。
試しに1回でもやってみましたが、本当ですね。
グリッドか何かで、2回Updateしないと更新してくれないものもあったような気がします。
ペアでないと寂しいのでしょうか。
助かりました。
またこんな機会がありましたら、よろしくお願い致します。
No.1
- 回答日時:
直接関係があるかは解りませんが、参考までにサイトをご紹介します。
再描画の前にメッセージボックスの表示が必要かもしれません。
参考URL:http://support.microsoft.com/kb/242017/ja
早速の回答ありがとうございます。
バグの殿堂マイクロソフトさんのページを見てみました。
サブに行きっぱなしではなく、一旦戻るかしないとダメなんですね。
たしか、プログレスバーでも、そんな現象があったような気がします。
これからもよろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
バーコードコントロールが印刷時に反映されない
Excel(エクセル)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
EXCELで作成したバーコードの更新方法について
Excel(エクセル)
-
-
4
マクロでバーコードのリンクセルを指定したい
Excel(エクセル)
-
5
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
-
6
VBAでセルを指定した画像のコピー&ペーストを繰り返したい
Excel(エクセル)
-
7
vba クリップボードクリアについて教えてください
その他(プログラミング・Web制作)
-
8
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
9
オートシェイプの文字が更新されない。
Visual Basic(VBA)
-
10
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
11
Excelの Microsoft バーコードコントロール 14.0
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
ActiveXコントロールを.NETにイ...
-
EXCELVBA リストボックスで選択...
-
DateTimePickerでに年月までし...
-
プロパティシートのタブの名前...
-
リストコントロール(MFC or API...
-
スピンボタンを右クリックして...
-
空のリストビューで1行おきに...
-
VisualStudio MFC変数が追加で...
-
引数にコントロール名を使用し...
-
Windows APIのGetOpenFileName...
-
エクセルのコントロールツール...
-
コモンダイアログコントロール...
-
連続で印刷すると画像が更新さ...
-
Tabコントロールに貼り付けたダ...
-
ワードのドロップダウンリスト
-
hScrollBarのバックカラーを変...
-
警告表示を非表示にしたい
-
「アイテムは収集されました」...
-
グラフの交点の求め方(Excel)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コントロールの書式設定で、“コ...
-
エクセルのコントロールツール...
-
DateTimePickerでに年月までし...
-
スピンボタンを右クリックして...
-
コモンダイアログコントロール...
-
連続で印刷すると画像が更新さ...
-
ActiveXコントロールを.NETにイ...
-
VB6でタブコントロールが見つか...
-
EXCELVBA リストボックスで選択...
-
エクセル - リストボックスのマ...
-
フォームでPDFを表示させた...
-
警告表示を非表示にしたい
-
Accessのタブコントロールを2...
-
ワードのドロップダウンリスト
-
MFC・ダイアログベースで、ダイ...
-
リストコントロール(MFC or API...
-
リストボックスの同期
-
プロパティシートのタブの名前...
-
Excel VBAでのMultipageの選択
-
TabControlとToolBarの背景色変更
おすすめ情報