- 締切済み
エクセルは立ち上げると記憶が飛ぶ?
自動でエクセルを立ち上げてペーストするプログラムの一部ですが、「Worksheet クラスの Paste メソッドが失敗しました。」と、エラーになってしまいます。 調べるとクリップボードのデータが無くなっていました。 昔のエクセル2000までは動いていたのですが。何か方法はあるのでしょうか。 Private Sub Workbook_Open() Rem セルに貼り付け ActiveSheet.Paste (以下省略) End Sub
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- pulsa
- ベストアンサー率57% (34/59)
ウィルスではなく、ウィルス対策ソフトが今回は問題のようです Norton Internet Securityにクリップボードをクリアする設定があれば、解除していただくとして これが原因でなかった場合、そうなると運用で何とかするしかありませんね このファイルを起動した後、Pasteが発生する前にクリップボードに格納する間を与えるようにするか あとはクリップボード履歴ソフトを導入することでしょうか? 大体の履歴ソフトは、クリップボードの内容をシャットダウン後も保持しているので、起動直後でも、前回の最後の内容をPasteできるようにしてくれます。 仮にクリップボードが消されても、ソフト自身に保存されている最終内容をPasteの命令が来た際に、クリップボードにセットしてくれます 俺は『ペースター』と言うソフトを使わせてもらっていますが、試した所実行できました 以前フリーでしたが、シェアウェアになってしまいました 残念な限りですが、30日試用期間があるので、試されてはいかがでしょう? http://homepage2.nifty.com/autumn-soft/paster.htm 他にも同様な機能のソフトはあるので、探してみてはいかがですか
- pulsa
- ベストアンサー率57% (34/59)
そうなんですか… すいません 手元にエクセル2002も VB6も無いんで試せないんですが、VB2005Express Editionは、エディターも作ったAppliも起動しても消えませんね 恐らくエクセルを再インストールしても状況は変わらないでしょうね 感じとしては、ウィルスの中にクリップボードの内容を吸い出すものがあるそうで、その対策で、ウィルス対策ソフトなどが新たにアプリを立ち上げる際、クリップボードの内容を削除しているような気がします つまり、エクセルに限らず、IEでもメーラーでもクリップボードの消去が発生する場合はエクセルには、原因が無いと思われます そのような事はないでしょうか?
補足
>恐らくエクセルを再インストールしても状況は変わらないでしょうね はい。同じでした。 パワーポイント、アクセス、ワード、一太郎、花子、IE、OE、VB2008は問題ないです。 確かにウイルスかもしれません。一応Norton Internet Securityは入っていますが。
- pulsa
- ベストアンサー率57% (34/59)
では、『clipbrd.exe』を起動させておいて、マクロを実行してみてください 場所がわからなければ[win+R]でファイル名を指定して実行(Windows純正ランチャ)が立ち上がるので、そいつに『clipbrd.exe』と入れればOK その状態でエクセルを立ち上げてみてください 『clipbrd.exe』には、表示可能なものはその状態で表示(文字とかならテキスト、画像ならその画像など)してくれます 表示不可能な物でも、データに含まれていて表示可能な物(例えばファイルなら、そのパスなど)は表示してくれます もちろんショートカットなんかだと、エクセルのシートに貼り付けようとすると、「んな事できるか!」と起こられますが、それでもエラーが出る訳だし、もちろんクリアはされません これで、『clipbrd.exe』にある物がエクセルを起動したときに、クリアされればエクセルの仕業とハッキリします 違うのなら別な原因が考えられます 例えば、貼れない物だった とか 形式が変わって貼れなくなった とか 意外とありがちなのがエクセルがアクティブじゃなかった(クリップボードの貼り付けはアクティブなウィンドウに対して行われる)とかね 結果を知らせて下さい 一応伺いますが、OSとエクセルのバージョンは何ですか? 手元にあるXP+エクセル2003では、表記のマクロはテキストも画像も普通に実行できましたよ 自動でエクセルを立ち上げているのが、何なのか判りませんが、そちらでクリップボードに何かしてる可能性はないですか?
補足
クリップボードの内容を表示させたままエクセルを立ち上げてみました。結果、エクセルが立ち上がると同時に消えてしまいます。 XP+EXCEL2002です。 エクセルの設定は全てみましたが関係ありそうなのはありませんでした。 たぶんエクセルが壊れているのかも知れません。 再インストールを試みてみます。 でもVB6もやはり立ち上げると消えますよね。
- pulsa
- ベストアンサー率57% (34/59)
平たく言うと クリップボードに何も無いのに、いきなり貼り付けろと言われても、そもそも貼り付ける物が無いですよ って事でないかい? もう少し言うと、エクセル・ワードなんかにはOfficeクリップボードと言う特殊なクリップボードを採用していて、office関連のアプリには、該当物を、そうじゃないアプリに対しての貼り付けには、クリップボードの内容を貼り付ける と言うのがあります つまり、なんにもコピーした形跡がないときは、貼り付けできないんですよ Excel2000で動いてたとありますが、仮にそうだとすると、運用方法が変わったのでは? と言うほかありません だって、コード内で、コピーした(クリップボードに格納した)形跡が無いですからね Rem は’の代わり、コメントにこれ使う人は、久々に見ました(笑)
補足
すみません、立ち上げる直前にコピーしても同じなんです。 エクセルが立ち上がる際にクリップボードの内容をクリアしているみたいなんです。
お礼
他のパソコンでは問題ないのでそちらの方でやることにしました。 自分のパソコンは諦めます。色々とありがとうございました。