[[20080117150544]] 『マクロが組み込まれているEXCELを保存したら開けax(かずみ) ページの最後に飛ぶ

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

 

『マクロが組み込まれているEXCELを保存したら開けなくなる』(かずみ)
質問内容
EXCELにマクロが組み込まれているEXCELを保存後、
そのファイルを開こうとすると、EXCELは起動するが、ファイルは自動的に
閉じてしまい、2度と開けず、EXCELのブックを全て閉じた状態になってしまう。

どなたかお教え下さい。
宜しくお願いします。


 ↓これと同じこと?(ROUGE)
 
[[20080117110909]]『マクロの実行を止めるには?』(マクロ初心者)

↑は、EXCELを実行しての保存・終了ですので、違います。
現象を詳しく記載すると、マクロの内容としては、DBから情報を取得し、EXCELに展開しているものですが、マクロを実行後そのEXCELを別名で保存し、再度開いて修正すると「質問内容」のようになります。
元々マクロが組み込まれているEXCELを\x{fffd}@とし、別名で保存したものを\x{fffd}Aとします。
両方ともですが、今の状態から1度は更新出来るが、2度目の更新が出来ない状態です。
根本的に何らかの問題があると思ってますが、原因が分かりません。
宜しくお願いします。(かずみ)


 >今の状態から1度は更新出来るが、2度目の更新が出来ない状態です
 コードが↑のように制御されているからなのでは?
 コードを見ないと原因は分からないです・・・
 (1or8)

 コードとは?
 クローズ時にと言う事でしょうか?
 基本の流れは、下記のようになります。

 1.\x{fffd}@のEXCELを起動した際、USERFORMにて入力値の入力を求められます。
 2.入力すると入力値に一致した内容のデータをDBより取得し、表示する。
 3.前記に明記したように別名保存する。
 4.別名保存したEXCELを再度修正し、保存する。
 5.別名保存したEXCELが開けない。

 元々のEXCELのマクロを修正し、保存する。
 上記、作業を行うと4の作業は出来ず、5の状態となるのです。

 宜しくお願いします。(かずみ)

 >コードとは?
 参考にして下さい。
https://www.excel.studio-kazu.jp/lib/e1nw/e1nw.html

 (1or8)

 コードとは、ソースの内容のことですね。

 メインになる部分を明記します。
 尚、コピペを行うことが出来ないので、直書きします。(誤記等があるかもしれません)
 Private Sub Command Botton1_Click()
 定義部分

 Set dbjisseki = Workspaces(0).OpenDatabase("C:\aaa.mdb") ← 実名ではありません
 With dbjisseki
     For Each tbfLoop In.TableDefs
         strTblName = "tblK" & TextBox1.Text
         If tbfLoop.Name = strTblName Then
             Set rsjisseki = dbjisseki.OpenRecordset("select * from " & tbfLoop.Name & " ORDER BY 日付', dbOpenSnapshot)
             while (rsJissek.EOF = False)
                If Left(rsJisseki.Fields(1), 7) = strDate Then
                    intSz009 = 12 + Format(rsJisseki.Fields(1), "dd")
                    Cells(intSz009, 4) = rsJisseki.Fields(2)
                            中略
                    Cells(intSz009, 12) = rsJisseki.Fields(12)
                End If
                rsJisseki.MoveNext
             Wend
             rsJisseki.Close
         End If
     Next tbfLoop
 End With
 dbjisseki.Close
 Unload UserForm1
 End Sub

 私も多少は、組む事も出来るので、内容にそれらしき部分はありません。
 尚、中略部分は、SET文がもう少しあるぐらいです。

 以上、宜しくお願い致します。 

 バージョンか違うか(EL2000です)Access が絡むのかヘルプにない用語がいっぱいあるのでよく分かりませんが、
 ステップインで実行するとどの段階で Excel が終了するのですか?

 (1or8)

 EXCELは、自動では終了しませんので、保存後自分で終了させます。
 尚、終了後に間違い等気付いて変更しようと開くとEXCELは、起動するが、ブックが開いて
勝手に閉じてしまう現象です。
 宜しくお願いします。

 勝手に閉じてしまう現象は上記コードとは関係ないように思います。
 今回のブックとは全く関係のない別ブックも同様な現象が起きるのであれば、Excel が壊れている可能性も・・・
 このブック限定の現象であれば、別のプロシージャが原因なのでは・・・
 念のために、最初の方の Set でブレークポイントの設定を行ってみてください。
 これに引っかからなければ原因は別プロシージャの可能性大です。
 (Access は使ったことがないので制御できるか知りませんが、
   Access 側で Excel を終了させようとするコードが記述されているとか?)
 (1or8)

コメント返信:

[ 一覧(最新更新順) ]


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