[[20170312113516]] 『クリックしたらセルの内容がクリップボードに』(ととち) ページの最後に飛ぶ

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

 

『クリックしたらセルの内容がクリップボードに』(ととち)

クリックしたら指定されているセルの内容がクリップボードに保存されるボタンを作成しました。
エクセルファイルを開いてしばらくは正常に動作しているのですが、そのファイルを開いたまま使わない(エクセル以外の操作等)をしてエクセルをしばらく放置していると、正常に動かなくなってしまいます。
ボタンをクリックしてみると、うまくクリップボードに保存されないのか、メモ帳に貼り付けを行ってもなにも貼りつきません。
エクセルのセルに貼り付けを行うと「・・」と点が二つ表示されます。
よろしくお願いします。

< 使用 Excel:unknown、使用 OS:unknown >


 Windowsのバージョンとエクセルのバージョンはいくつでしょうか?
 また、クリップボードへの格納は、どういった方法でやっておられますか?

 私の環境では win8+xl2013になって以降、DataObject経由での操作時、クリップボードの中身が
 ・・ になってしまう不具合が発生しており、別方法で切り抜けています。

(β) 2017/03/12(日) 14:13


win8
Excel 2010です。
よろしくお願いします。
(ととち) 2017/03/13(月) 12:06

 >よろしくお願いします。

 それが、DataObject利用だとすると、当方では win7+xl2010 ではOK,win10+xl2013 ではNG。
 もう手元にはないのですが win8.1+xl2013でもNGでした。
 ただ、本件、win8.1+xl2013 では OK,win10+xl2013 にWindowsをバージョンアップしてNGになったという
 報告も、学校内であがっていますので、不具合の原因が何なのかはわかりませんが、今のところ
 コメントしたように別の方法(2つほど、あります)できりぬけています。

 ★いずれにしても  現在のクリップボードへのコピーを行っている部分のコードをアップしてください。

( β) 2017/03/13(月) 12:12


Sub Macro2()
'
' Macro2 Macro
'

'
ActiveSheet.Calculate

    Dim myDO As New DataObject
    myDO.SetText Range("f11").Value
    myDO.PutInClipboard

End Sub

ボタンをクリックしたときに指定したセルをコピーするのと、再計算を行っています。

(ととち) 2017/03/14(火) 15:06


こちらのスレッドを放置して新規に建てる理由がわかりません。
急ぐ気持ちも分かるが、バグだろうから(*)、
全面解決策はすぐには難しいものと思われる。
先人たちも苦労されているようです。
((*)コピーしてからコピー元に変更を加えると、
  クリップボードにも影響があるという話はあります。
  いわゆるdelayed renderingの話。直接の関係はないかもしれないが。)
 
であれば、あなたのほうでこちらの掲示板を検索して、
他の二つの暫定解決法を調べてはどうですか。
検索キーワードは思いつくでしょ?
 
また、可能なら、新しく建てたスレッドは削除してはどうですか?
(γ) 2017/03/16(木) 07:02

今、旅にでていましてフォローは土曜日以降になります。
γさんご指摘のとおり最近ではマリオさんがこのあたりをまとめたトピックを
アップされているので探してみて下さい。
土曜日以降未解決ならフォロー再開します。

(β) 2017/03/16(木) 11:42


 本件、学校内では、たとえば

[[20160326092004]] 『xl2013 での momoさんのレイアウトアップユ=x(β)
[[20170116012224]] 『momoさんのツールをいじってみました』 (マリオ)

 で議論をしています。
 また別板ですけど、

http://www.moug.net/faq/viewtopic.php?t=75212&highlight=&sid=242011b6d4ecb7ca79eb9c0e0c4f7b5d

 こういったところで、関連の議論をしました。

 それらを読んでいただければ、

 ●簡便法として、テンポラリーにActiveXのTextBoxを生成してそこ経由でクリップボードに格納した後、TextBoxを削除
 ●コードは長くなりますが、クリップボード関連のAPIを使った処理

 これらのサンプルコードもでていますので、目を通してみてください。

 ★これらは、あくまで、MSが、この現象にパッチをいれて解決してくれるまでの 【臨時措置】と(私は)位置付けています。

(β) 2017/03/18(土) 07:31


 私は、クリップボードの内容取得、クリップボードへの格納はエクセルのテキストボックスやIEを使用
 してきましたが、エクセルが無いPCや、IEのバージョン違いによる不具合?が出てきたため、ネット検索
 してコマンドラインを利用した方法に移行しつつあります。

 ↓を参考にVBSからコマンドラインにコマンドを送って文字列をクリップボードに格納しています。

 Window7、文字列をクリップボードにコピーするバッチファイルを作る|マコトのおもちゃ箱 〜ぼへぼへ自営業者の技術メモ〜
http://piyopiyocs.blog115.fc2.com/blog-entry-592.html
(カリーニン) 2017/03/26(日) 10:32

 私の紹介したリンク先のコマンドでは、クリップボードに格納したい文字列に
 改行が含まれていたらコマンドが上手く実行されないことが判明しました。

 私のレスはスルー願います。
(カリーニン) 2017/03/26(日) 16:24

 改行を含んだ文字列をクリップボードに格納する方法がありました。

 VBScriptでクリップボードに送る:いみひとのブロマガ - ブロマガ
http://ch.nicovideo.jp/imihito/blomaga/ar1109630
(カリーニン) 2017/03/26(日) 16:48

コメント返信:

[ 一覧(最新更新順) ]


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