Win98 FirstEdition
VB6 SP3
Excel97 SR1
上記の環境において、下記のソースのように、VBからExcelを起動してデータを出力した際、Excelのブックを閉じると、「保存しますか?」の「はい」「いいえ」関わらず、あるいはブックをセーブした後閉じても、Excelが異常終了してしまいます。
ブックではなく、Excel自体を閉じた場合は全く問題ありません。
どなたか対処法をご存じな方いらっしゃいませんか?
Dim objXls As Object
Dim objBook As Object
Dim objSheet As Object
Set objXls = CreateObject("Excel.Application")
objXls.Workbooks.Add
objXls.Visible = False
Set objBook = objXls.ActiveWorkbook
Set objSheet = objBook.Worksheets(1)
(中略)
objXls.Visible = True
No.1ベストアンサー
- 回答日時:
objXls.Visible = True の後に
objXls.UserControl = True を入れてみましょう。
自信はないのですが。
あと、VBのSP5とOffice97SR2を入れましょう。
ご返答ありがとうございます。
しばらく、ネットにアクセスできない環境におりましたので、ご返答が遅れました。
実は、質問の投稿の直後に、下記の米国MS社の対応策(英語)を見つけまして解決しておりました。
おっしゃる通りの原因・対処法でした。
http://support.microsoft.com/support/kb/articles …
No.2
- 回答日時:
異常終了が解消するかどうかは分かりませんが、
使用済オブジェクトを明示的にNothingしてますか?(Excelに限らず)
アプリケーションを終了させても、Excel自体のProcessが
システムに残ったままになっているとおもいます。
そのままだと実行する度にリソースを累積的に消費してまいます。
Set objSheet = Nothing
Set objBook = Nothing
Set objXls = Nothing
ご返答ありがとうございます。
原因は#1の通りでした。
Set objSheet = Nothing
Set objBook = Nothing
Set objXls = Nothing
については、これを入れても現象は変わりませんのであえて、省略して問題カ所を最小限で書かせていただきました。
No.3
- 回答日時:
私も類似の現象で困っています。
便乗質問ですが、参考になれば。VB6で、
Dim wkbObj As Workbook
Sub main()
newdata = InputBox("A1に入力するデータをどうぞ")
Set wkbObj = GetObject("C:\WINDOWS\デスクトップ\adodata.xls")
wkbObj.Worksheets(1).Range("A1").Value = newdata
wkbObj.Close
End Sub
これでExcelを起動せずにadodata.xlsの内容を書き換えたところ、
次にExcelで開いても開かず、エラー表示も無い状態になります。
仕方無いので、IEからファイルを開くで開くとExcelが起動してadodata.xlsが
開きます。これを上書き保存すると、Excelで開いても見えるようになります。
なぜか、どうすれば良いか判らず、Gooで質問しようとしていたところです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/03/25 08:33
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) VBS Bookを閉じるコード 1 2023/02/16 17:31
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 16:59
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) VBA Bookの表示、非表示 1 2022/09/16 20:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フレームワーク「4.8.1」で、[S...
-
WoW64経由と通常の32bit起動は...
-
INIファイルとAPP.CONFIGについて
-
自分自身を更新するプログラム
-
C# 管理者権限で起動したアプリ...
-
現在起動中のアプリケーション...
-
VC++2010 画面なしのアプリケ...
-
VB.NETで起動させたExcelの多重...
-
実行時のコマンドプロンプトを...
-
【VB.NET】指定時刻にアプリケ...
-
VB6での二重起動(複数起動)の制...
-
Accessフォームからの外部アプ...
-
イベントドリブン(C言語)
-
C言語でPDFファイルのサイズと...
-
Console Applicationをタスクト...
-
WSH(VBScript)でアプリケーショ...
-
vcxprojファイルの修正法???
-
Shell関数の終了を調べる方法
-
アプリケーションをVBS(WSH?)で...
-
コマンドライン版ソフトの意義
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コンソールアプリケーションの...
-
Vba アプリケーションが立ち上...
-
フレームワーク「4.8.1」で、[S...
-
VBSでのSendKeysでの画面の最小化
-
イラストレーターCS4のシリアル...
-
vb6で異なるのプロジェクト間で...
-
初回接続の遅い原因について
-
VB.NETでMessageBoxを表示した...
-
MFCアプリケーションでの終了コ...
-
pccNTmon.exeとntrtscan.exeの違い
-
Windowsプログラムのビジー状態...
-
実行時のコマンドプロンプトを...
-
自分自身を更新するプログラム
-
VB.NETでフォームアクティブの...
-
Accessフォームからの外部アプ...
-
Console Applicationをタスクト...
-
httpd.pidって何ですか?
-
VB.NETで起動させたExcelの多重...
-
vcxprojファイルの修正法???
-
「AcroRd32.exe」これってウイ...
おすすめ情報