トップページ > プログラム > 2015年12月05日 > MOG2PmhH

書き込み順位&時間帯一覧

8 位/210 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000204000001007



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
GCは失敗。メモリは自分で管理せよ! その2©2ch.net

書き込みレス一覧

Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
337 :デフォルトの名無しさん[sage]:2015/12/05(土) 13:37:54.17 ID:MOG2PmhH
クリップボードを介さずにRangeのCutとPaste相当をしたいのですが
やはり値と書式を地道に移していくしかないでしょうか
あとこういったことの汎用ライブラリモジュールみたいなのはないでしょうか
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
338 :デフォルトの名無しさん[sage]:2015/12/05(土) 13:45:56.38 ID:MOG2PmhH
というのも非常に時間がかるマクロなので待ち時間が惜しいのと
軽い作業ならいいだろうと実行中に無意識にクリップボード操作をして止まってしまったりする事、
最悪pasteでテキストと入れ替わった場合エラーとして検出されずデータ破壊した事に気付かず処理が進んでしまう事
などが怖いので可能な限りクリップボードを使わずに処理を書きたいのです
GCは失敗。メモリは自分で管理せよ! その2©2ch.net
177 :デフォルトの名無しさん[sage]:2015/12/05(土) 15:06:58.28 ID:MOG2PmhH
昔C言語で数珠繋ぎの独自スコープとしてblock_enter/block_leaveというのを作って

{
block_handle h = block_enter(b)

object = block_create_object(h)

block_leave(h)
}
GCは失敗。メモリは自分で管理せよ! その2©2ch.net
178 :デフォルトの名無しさん[sage]:2015/12/05(土) 15:10:52.59 ID:MOG2PmhH
書き損じた
昔C言語で数珠繋ぎの独自スコープとしてblock_enter/block_leaveというのを作って

func(b){
block_handle h = block_enter(b)

object = block_create_object(h)

block_leave(b, h)
}
というので例外にも対応したリソースマネージャ作った
block_leave(b, h)せずにスコープ抜けても上位のblock_leaveで開放が保証されたり
block_leave(b, 0)で全開放とかそんなの
GCは失敗。メモリは自分で管理せよ! その2©2ch.net
179 :デフォルトの名無しさん[sage]:2015/12/05(土) 15:15:45.24 ID:MOG2PmhH
デメリットはblock_create〜で作成するものは全部ヒープに確保されること
結局C言語でここまで必要な案件てのが回ってこなくてあんま使ってないけどリーク予防法の参考程度に
GCは失敗。メモリは自分で管理せよ! その2©2ch.net
182 :デフォルトの名無しさん[sage]:2015/12/05(土) 15:30:53.84 ID:MOG2PmhH
>>180
例外つってるのは具体的にはSEHの話
どっかで止めた時点のblock_leave(b, h)でそれまでの開放が保証されるってこと
Excel VBA 質問スレ Part37 [転載禁止]©2ch.net
345 :デフォルトの名無しさん[sage]:2015/12/05(土) 21:47:02.20 ID:MOG2PmhH
とりあえずPaste前にClipboardFormatsで中身を確認することにしました
これでテキスト編集ぐらいは並行してできそうです


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。