Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


72928 / 76732 ←次へ | 前へ→

【8287】bykinさんに一票
回答  しのしの  - 03/10/7(火) 12:29 -

引用なし
パスワード
   初心者さん、bykinさんこんにちは。
私も初心者さんのような仕様の場合は、bykinさんのような方法で処理しています。
が、いちどもエラーが発生したことはありませんよ。

Dim bkA As Excel.Workbook  'A.xls
Dim strA  As String    'A.xlsのFullname
Dim strC  As String    'C.xls のFullname

'A.xlsを開く
Set bkA = Workbooks.Open(Filename:=strA, ReadOnly:=True)

'C.xlsの内容に書き換え処理


'作業中のA.xlsをC.xlsとしてに保存
bkA.SaveCopyAs (strC)

'Aを閉じる
bkA.Close savechanges:=False
Set bkA = Nothing


A.xlsを開いて、データ操作中に異常処理しても、
保存さえしなれば、書き換えられることは無いと思います。
(開いているのはオブジェクトのインスタンス、とお考えください。)

あくまで、予想なんですが、
ファイルの処理数が増えるとエクセルが強制終了される
のと
B.xlsあるいは、C.xlsがCloseできない、
というのは、同じ原因の可能性が高いと思います。

たとえば、"データ操作"中に、開いているブックのオブジェクトを取得しているのに、
きちんと、参照解放せぬままCLOSEしようとしていませんか?
#例えば、モジュールの内部変数、クラスの内部変数などに、
#ブックのシートを参照設定しておいて、その解放がきちんとされていない。
#実は.netから操作していて、RCWの参照カウントが残っているなど。

>ところで・・・まずはSaveAs,Save,Close自体が怪しいのか
>途中の処理が怪しいのかをはっきりさせたほうがええと思います。
>
>途中の処理を全部コメントアウトして、単に「別名保存→保存→閉じる」だけの
>コードにして実験する。
>それでもうまいこといかんかったらSaveAs・・・が怪しいんやけど、恐らく
>途中の処理が原因なんやないかな?
>
>で、コメントアウトしてる処理を少しずつ非コメント化して順番に実行することで
>どこに問題があるんかを見つけ出す・・・ってことになるんとちゃいまっか?
>(On Error Goto はコメントアウトしておく)
>
>原因がわからんときのデバッグ作業ってのは大変やけど、地道にやることが
>結局一番早道やと思います。

まったく、その通りだと思います。
このアドバイスを実行してみてください。
#時間もないし、あと一歩で完成!なので、
#イベント探しを探求されるお気持ちもたいへんよく分かります

予想は、あくまで、予想ですので、はずしていたら、すみません。
0 hits

【8210】メッセージボックス出力と同様のイベントとは? 初心者 03/10/3(金) 19:46 質問
【8211】Re:メッセージボックス出力と同様のイベントとは? INA 03/10/3(金) 19:54 回答
【8212】Re:メッセージボックス出力と同様のイベントとは? 初心者 03/10/3(金) 20:10 質問
【8213】Re:メッセージボックス出力と同様のイベントとは? Kein 03/10/3(金) 20:50 回答
【8214】Re:メッセージボックス出力と同様のイベントとは? 初心者 03/10/3(金) 21:26 質問
【8217】Re:メッセージボックス出力と同様のイベントとは? bykin 03/10/3(金) 22:23 回答
【8220】Re:メッセージボックス出力と同様のイベントとは? 初心者 03/10/4(土) 0:55 発言
【8225】Re:メッセージボックス出力と同様のイベントとは? bykin 03/10/4(土) 19:10 回答
【8259】Re:メッセージボックス出力と同様のイベントとは? 初心者 03/10/6(月) 12:06 お礼
【8273】Re:メッセージボックス出力と同様のイベントとは? bykin 03/10/6(月) 18:15 回答
【8275】Re:メッセージボックス出力と同様のイベントとは? 初心者 03/10/6(月) 19:52 発言
【8277】Re:メッセージボックス出力と同様のイベントとは? bykin 03/10/6(月) 21:08 回答
【8287】bykinさんに一票 しのしの 03/10/7(火) 12:29 回答
【8291】Re:bykinさんに一票 初心者 03/10/7(火) 15:05 質問
【8292】FileFormatですか しのしの 03/10/7(火) 16:03 回答
【8293】サンプル変でしたね。すいません。 しのしの 03/10/7(火) 16:07 回答
【8300】Re:サンプル変でしたね。すいません。 初心者 03/10/7(火) 19:09 お礼

72928 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free