[[20041121193657]] 『マクロ記述の仕方を教えて下さい』(サンタナ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロ記述の仕方を教えて下さい』(サンタナ)

コピーした後、ファイルを閉じようとすると「クリップボードに大きな情報があります、この情報をほかのプログラムに貼り付けられるようにしますか。」という表示を無くすか、「いいえ」を選択したいのですが、マクロで記述するにはどうすればいいですか?


 クリップボードに貼り付けないでコピーすればいいと思います。
v(=∩_∩=)v
(SoulMan)
http://www.mccoy.jp/chie/zaitaku/excel/vba/vba3_3.html

 あるいは
    Application.CutCopyMode = False
をプロシージャの最後に実行。
(みやほりん)

 多分、ですけども
サンタナさんはマクロ内部でクリップボードを使って何かをしているわけではなく、
例えば単にマウスやキーボードから「全選択→コピー」という操作をした後、
Excelを閉じようとすると「クリップボードに大きな情報があります。…」
というメッセージが出てきて煩わしい、と感じているのでしょう。
それを非表示には出来ないものか、と。
なので、みやほりんさん記述の
    Application.CutCopyMode = False
をその対象となるExcelファイルのWorkbook_BeforeCloseイベント時に入れておけば良いかも。
見当違いだったら失礼。
(ご近所PG)

 あっ、そうゆうことですかぁ(^^;;;
なるほど、なるほど、(゚ー゚)(。_。)うんうん
ご近所PGさんフォローありがとうございます。
(SoulMan)

みなさん回答ありがとうございました。
とりあえず、みやほりんさんのApplication.CutCopyMode = Falseをファイルを閉じる記述の前に入れる事により解決しました。
ありがとうございました。

Workbooks.Open Filename:="C:\Documents and Settings\デスクトップ\Book2.xls"

    Columns("A:A").Select
    Selection.Copy
    Windows("Book1.xls").Activate
    Columns("A:A").Select
    ActiveSheet.Paste

  →Application.CutCopyMode = False

    Windows("Book2.xls").Activate
    ActiveWindow.Close

ご近所PGさんの
「Application.CutCopyMode = False
をその対象となるExcelファイルのWorkbook_BeforeCloseイベント時に入れておけば良いかも」というのはこのことをおっしゃっているのですか


 私は「マクロでブックを閉じる時」を想定して提案させていただきました。
また、ご近所PGさんはマクロでブックを閉じるのではなく、
通常操作時にカットコピーモードのままブックを閉じる場合のことを
想定しておられて、「Book2.xlsにイベントマクロを仕込んでおけば?」
ということで、提案されています。追加するステートメントは同じですが、
記述する場所が違います。
VBEのプロジェクトエクスプローラーでBook2.xlsのThisWorkbookモジュールへ
下記のマクロを記述します。
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    Application.CutCopyMode = False
End Sub
 
閉じる命令を出すプロシージャに
    Application.CutCopyMode = False
がなくても、閉じられる側で処理が行われるので
同じくメッセージは表示されません。
(みやほりん)

みやほりんさん、ありがとうございます。
今回、前提条件の説明の大切さを知ることができました。
重ねてありがとうございました。
(サンタナ)

 ぬ、外してましたね。失礼。
みやほりんさんフォローありがとうでした。
(ご近所PG)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.