[[20220516091808]] 『クリップボードがクリアされる』(mayo) ページの最後に飛ぶ

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

 

『クリップボードがクリアされる』(mayo)

EXCEL2007、VBAにおいて、以下の操作でクリップボードがクリアされます。
他のバージョンでも同様の仕様でしょうか?
お手数ですが、検証報告をお願いできないでしょうか?

(1)VBAで一時的な作業用シートを追加
(2)セル範囲をコピーしてクリップボードにSet
(3)一時的な作業用シートを削除

以下、検証用ミニマムコードです。
一時シートではなく一時ブックならこの現象は発生しません。

 Sub 一時シートを利用()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim ws As Worksheet
    Set ws = Sheets.Add
    ws.Range("A1") = 1
    ws.Range("A1").Copy
    ws.Delete    '一時シートを削除しなければクリアされない。
 End Sub

< 使用 Excel:Excel2007、使用 OS:Windows10 >


 XL2010、XL2013、Microsoft365
 いずれも、クリアされました。

 一時ブックでやっても同じ現象でしたけども?
  ↓ 
 Sub 一時bookを利用()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Dim wb As Workbook
    Dim ws As Worksheet
    Set wb = Workbooks.Add
    Set ws = wb.Sheets.Add
    ws.Range("A1") = 1
    ws.Range("A1").Copy
    ws.Delete    '一時シートを削除しなければクリアされない。
 End Sub

(半平太) 2022/05/16(月) 09:50


半平太様、検証報告、感謝します。
XL2010、XL2013、Microsoft365で同様の現象ということは、
これが標準仕様ということなのでしょうね。
VBAを使うことはあまりないので、「何、この仕様..」と、ちょっと面くらいました。

ブック版の方は、自分の説明不足だったかも....
新規ブックに新規シートの追加、削除ではなく
以下のようなものです。

 Sub 一時ブックを利用()
    Dim wb As Workbook, temp As Workbook
    Set wb = ActiveWorkbook
    Application.ScreenUpdating = False
    Set temp = Workbooks.Add
    wb.Activate
    Application.ScreenUpdating = True
    temp.Sheets(1).Range("A1") = 1
    temp.Sheets(1).Range("A1").Copy
    temp.Close False
 End Sub

(mayo) 2022/05/16(月) 10:14


Excel2019での状況。
(1)ワークシートを削除した場合は、クリップボードはクリアされる。
(2)ブックを削除した場合は、プレーンなテキストだけは残っている。
   書式つき(赤塗りつぶしなど)セルをコピーした場合、
   書式つきの情報はクリアーされるが、テキストだけはクリップボードから再利用できます。

余談:
Winodwsのクリップボードはコピーした段階で内容が固定されるわけではなく、
貼り付ける時にも情報確認が行われる仕組みとなっているようです。
シートの削除と、ブックの削除で振る舞いが異なるのは仕様というほかなく、
一ユーザーには不明な内容です。(遠くから宇宙を観察するのと同じ感じ!!)

なお、
Officeクリップボードは(1)(2)とも書式付きで残っていて再利用が可能です。
Officeクリップボードは Windowsクリップボードと異なり、
コピーした時点で内容がHTMLとして保持されて固定されるので、
その後に何があっても保持されたままになります。

質問者さんが求めている情報(シートを削除したらクリップボードはクリアされるか)については、
YESが回答。
そのほか関連情報をメモしました。
結構奥が深いテーマですし、本当のところはよくわからない振る舞い、ということでしょう。

(γ) 2022/05/16(月) 10:32


ああ、正確にいうと、ブックは「削除」ではなく「閉じる」でした。

(γ) 2022/05/16(月) 10:40


γ様、検証、感謝します。
仕様ということで、了解です。

以下、参考情報です。
ブックの場合でも一時利用後に「閉じる/閉じない」で
クリップボードに格納されるデータ形式に差異がありました。
書式付きセルをコピーした場合、コピー後ブックを「閉じた」場合、
以下の5つの形式しか格納されていませんでしたが、

 ・Rich Text Format
 ・UnicodeText
 ・Text
 ・Locale
 ・OEMText
「閉じない」場合は、「Bitmap」等「30」近くの形式で格納されていました。

(mayo) 2022/05/16(月) 12:44


コメント返信:

[ 一覧(最新更新順) ]


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