質問: false にすると、確かに印刷時に消えてくれるのですが 印刷が終わった後も消えたままなのです。 印刷が終わったあと、オートシェイプを再可視化するには どうしたらよろしいでしょうか?? 可視化に限らず、印刷後(もしくは印刷プレビューを閉じた後) なんらかの処理を加える方法でもかまいません。 ヒントだけでもいいので、なにとぞアドバイスの程よろしくお願いいたします!
回答: こんばんは。 以下のように、元にもどすのに、ほんのちょっと時間差を設ければよいはずです。 印刷中は、印刷バッファに送られますから、オートシェイプは、ない状態のままですし、シートは待機モード中です。その間に、命令を送ってしまえばよいと思います。なお、こういう場合、excelのバージョンによっては違ったアイデアもあるはずです。 以下の3秒でよいのかは、調整してください。 '//thisworkbook モジュール private sub workbook_beforeprint(cancel as boolean) dim sp as shape for each sp in activesheet.shapes sp.visible = msofalse next thisworkbook.ontimemethod end sub sub ontimemethod() application.ontime now + timevalue("00:00:03"), "thisworkbook.testexec" end sub sub testexec() dim sp as shape for each sp in activesheet.shapes sp.visible = msotrue next end sub