VBでCSVファイルを読み込み、エクセルファイルを新規作成するツールを作っています。エクセルファイルを作成後、表示するようになっています。(VBのフォームは立ち上がったままで)
処理する前にエクセルが立ち上がっていない時、表示されているエクセルファイルのブックのみ終了すると、エクセルも消えてしまいます(非表示になります)。
タスク上ではエクセルが立ち上がったままになっています。
この現象は解決できますか?(VB6.0(SP5)、WinNT、EXCEL97)
コードは以下のように
Dim objExcelApp As Excel.Application
Dim objExcelWb As Excel.Workbook
Dim objExcelSht As Excel.Worksheet
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWb = objExcelApp.Workbooks.Add
Set objExcelSht = objExcelWb.Sheets(1)
エクセルファイル編集
objExcelWb.SaveAs (Out_File)
objExcelApp.Visible = True
Set objExcelSht = Nothing
Set objExcelWb = Nothing
Set objExcelApp = Nothing
宜しくお願い致します。
>エクセルファイルのブックのみ終了すると
終了せずにリモートオブジェクトを開放しています。
解放前にWorkBookをCloseし、ApplicationをQuitしてください。
>解放前にWorkBookをCloseし、ApplicationをQuitしてください。
WorkBookをCloseし、ApplicationをQuitしたら、エクセルファイルを表示するには、どうしたらいいですか?
失礼。質問を読み違えていたようです。
手元に環境がありませんから確認はできませんが、
掲載コードでWin2000 + Excel2000 で
うまくいくところをみると、バージョンがらみの
問題かもしれません。
、
WorkBookをCloseし、ApplicationをQuitしたら、エクセルファイルを表示するには、どうしたらいいですか?
少々格好悪いですが、一度リモートオブジェクトを解放後、
Shell関数で起動してみるとか
Shell "C:\Program Files\Microsoft Office\Office\Excel.exe """ _
& Out_File & """", vbNormalFocus
とか
早速Shell関数を使ってみました。
思うようにエクセルファイルを起動できました。
ありがとうございました。