• ベストアンサー

アクセス マクロ クリップボードを空っぽにしたい

大量のデータを検索結果でテーブルに落とすのですが、同様の処理をマクロで3回くらいすると、クリップボードに残っているような気配です。 クリップボードを空にする、あるいは擬似的な方法としては、マクロ文章をどうすればいいでしょうか?

  • good23
  • お礼率56% (451/804)

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 クリップボードに残る・残らないといっても、最後のクリップボードに入れたものは残りますね。 上書きスタイルになっているはずですから、実際は、擬似的にするなら、空のものをクリップボードに入れればなくなるはずです。 以下は、私個人が使っているマクロの一部です。単に、クリップボードを空にする目的ではなくて、一旦、開いているクリップボードを閉じる目的でもあります。 'モジュールの先頭に Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long Private Declare Function EmptyClipboard Lib "user32" () As Long Private Declare Function CloseClipboard Lib "user32" () As Long Private Sub コマンド1_Click() If OpenClipboard(ByVal 0&) Then   Call EmptyClipboard   Call CloseClipboard End If End Sub

関連するQ&A

  • 「クリップボードにコピーされているデータが多すぎます。」について

    大量なExcelデータを複写してAccessのテーブルに貼り付けてテーブルを 閉じたら以下のメッセージが表示されました。 「クリップボードにコピーされているデータが多すぎます。 データをクリップボードにコピーすると、オブジェクトに対する参照だけがコピーされます。 ソース ドキュメントを閉じると、ソースからすべてのデータが貼り付けられます。 データに量によっては、時間がかかる場合もあります。 このデータをクリップボードに保存しますか?」 どういう事で言っているのでしょうか? 説明して下さい。 宜しくお願いします。

  • VBScriptでクリップボードにコピーする方法

    VBScriptでクリップボードにMsgboxの出力データをコピーする方法がわかりません。 ちなみにMsgboxの出力データは変数で、処理の流れとしてMsgboxのすぐ後に クリップボード上に変数をコピーをするようにしたいと考えています。 ネットで検索した結果、下記内容がありましたが、1年前くらいにまったく同じ目的のVBScriptを作成したことがあり、その時は特に制限なく目的のVBScriptが作成できたので、どうも納得できません。 その時のを残しておけばよかったと今になって後悔。。。しかもどうやったか忘れた。。。。 ===ネット検索結果=== WSH と VBScript のいずれにもクリップボードを操作する機能はありません。どちらを使用しても、クリップボードにデータをコピーしたりクリップボードからデータを貼り付けたりすることはできません。一方、Internet Explorer ではクリップボードを操作することができます。 他にもネット上で、とりあえずInputBoxに出力してコピーするような流れの内容がありましたが、今回の目的(見栄えとして)として、どうしてもMsgboxのすぐ後で処理させたいのでわかる方おりましたら宜しくお願いします。

  • エクセルのマクロでクリップボードの使い分け。

    マクロ初心者です。任意のシートの任意の列(先に選択しておきます。)とそのシートのA列を特定のシートの2列に並べてコピーしたいのですが、クリップボードを使ってマクロ記録をしても、実行すると貼り付けの段階でエラーが起こります。クリップボードの中身を一つ目のデータ、二つ目のデータというように、選択して貼り付けすることは無理なのでしょうか。あるいは、一つ目のデータをコピー・貼り付けした後、元の任意のシートに戻る方法はないでしょうか。どなたか教えてください。よろしくお願いします。Excel2000を使っています。

  • Access VBAでクリップボード操作

    Accessでクリップボードの操作をしていますが、クリップボード内にデータがあるかないかのチェック方法がわかりません。 ExcelではApplication.ClipboardFormatsが使えるようですが、Acessにはありません。 Accessの場合、エラーを判定しエラーコードで後処理をするサンプルがありましたがそれ以外は方法がないものでしょうか?

  • クリップボードとピボットテーブルについて

    エクセル2000を使っているとセルのデータを下のセルに移動するとき「クリップボードを空にできません」というダイアログがでます。なんかの設定で調整できますか? あとピボットテーブルで新規のシートにデータを返すと小数点が細かくでてきます。それも調整できますか?

  • エクセルでマクロを実行中に「クリップボードに大きな情報が・・」

    エクセルでマクロを実行中に「クリップボードに大きな情報があります。この情報をほかのプログラムに貼り付けるられるようにしますか?」というメッセージが表示され処理が中断されます。この表示が出ないようにしたいのですがどうしたらよいのでしょうか?

  • シートのデータをクリアしてクリップボードの内容を貼り付ける方法

    シートのデータをクリアしてからクリップボードのデータを貼り付けるマクロを作成しています。 ■処理内容 Sheets("Sheet1").Cells.Clear Sheets("Sheet1").Paste 別アプリのデータをクリップボードに保存した場合は問題ないのですが、同一のエクセルウィンドウ内にあるセルデータをコピーした場合、Cells.Clearを実行した時点でシートのデータだけでなくクリップボード内のデータも消えてしまう為、張り付けることができません。 ※クリップボード内のデータを消さずにシートの内容をクリアする方法はありますか? よろしくお願いします。

  • クリップボードの消し方

    webなどに入り、パスワードやIDを入力する場合に一々面倒なのでメモ帳などに入れているIDなどをクリップして入力することがありますよね。 そうすると次回の入力のときにクリップボード?のようなものが出てきてそれを選択することで入力できます。 しかし、このクリップボードのある数点だけ、目ざわりなので消したいのですがどのように消したらよいのでしょうか。 機種は東芝のWIN31です。古いです。 困っています。 なぜかというと、一回操作を間違えてえらい長い文章をコピーしてしまったために入力選択の度にこの長ーい文章(それも人に読んでほしくない文)が出てしまいます。 よろしくお願いします。

    • ベストアンサー
    • au
  • クリップボードソフトで

    テキストエディタで改行されている複数行の文章をクリップボードソフトに一度で1行ずつコピーをしたいのですが良い方法はありませんでしょうか? 例)1行目:○○○○○○○   2行目:○○○○○○○   3行目:○○○○○○○    ・     ・  このような100行以上ある文章を1行ずつ クリップボードソフトにコピーをして 1行ずつ別の場所に貼り付けをしたいのです。 100回以上コピーのショーカットキーを押すのは 大変なので、別の方法を探しています。 よろしくお願いします。

  • VC++2008 で クリップボードの監視を行いたい

    いつもおせわになっております。 ただいま、Visual C++ 2008 Express Edition を使いまして、クリップボード拡張アプリを作っております。 実装したい機能として・・・  A.クリップボードにデータがコピーされる度に、クリップボードのデータを取得する。  B.ただし、クリップボード上のデータは消さない。 というものがあります。 この使用を実装するために、下記のようにデータ存在の有無をタイマーな どでポーリングすれば良いと考えました。 >IDataObject ^data = System::Windows::Forms::Clipboard::GetDataObject(); >pictureShowPicture->Image->Dispose(); >if(data->GetDataPresent(DataFormats::Bitmap) == true){ しかし、この方法だと、一回でもデータがクリップボードにコピーされると、その後もずっと「データが存在する」状態となってしまい、新しいデータが来たのかどうか判断が出来ません。 クリップボード上のデータを消せば、「データが存在しない」状態となり、次にデータがコピーされたことが分かるのですが、クリップボード上のデータは消さない実装としたいのです。 このため、下記のようにすれば問題が解決できると思いました。  1.何らかの方法でクリップボードにデータがコピーされたという通知を受け取る。  2.現在のデータが直前のデータと同じか異なるかを判断する。    (ポーリングしておいて、データが異なれば新規データと判断) 上記1,2について、実現方法をご存知の方は教えていただけませんでしょうか。 ちなみに、受け取りたいデータ形式は、ビットマップ形式画像およびテキスト形式です。 お忙しいところ恐縮ですが、よろしくお願いいたします。

専門家に質問してみよう