魔界の仮面弁士様 回答ありがとうございます >知りたかったのはマイナーバージョンとか C2R / MSI の情報とかです。 Office: Microsoft Office Professional Plus 2010 Excel Ver 14.0.7214.5000(32Bit)となります。 >手順 1 と 3 だけに単純化した「現象を再現可能なコード」を >作成してもらえないでしょうか 以下の環境でデバッグを行いました。(■Excelライブラリ処理の部分をご確認ください。) >Workbook の SaveAs メソッドを呼び出す際に、 >Local 引数を明示してみてください SaveAsメソッドにLocal:=trueを追加して確認しましたが、変化はありませんでした。 書式が通貨型に変わってしまうセルですが、Aのセル(数値型)とBのセル(数値型) を足した値をセットしています。( =A10 + B10のような) (データのセットの処理をコメントしても発生するので、関係はありませんが...) ●環境 OS:Microsoft Windows XP Professional Version 2002 SP3 VB6:Microsoft Visual basic 6.0(SP6) ●コンパイル設定 ビルド形式:ActiveX DLL コンパイル方法:ネイティブコードコンパイル(コードの実行速度を最適化) ●プログラムが参照しているライブラリ Visual Basic For Applications Visual Basic runtime objects and procedures Visual Basic objects and procedures OLE Automation Oracle InProc Server 5.0 Type Library Microsoft Excel 14.0 Object Library ●プログラム構成 clExcelOutput.cls(Excelファイル出力メイン処理) mdExcel.bas(Excelライブラリ) ●プログラム概要 -- ----------------------------------------------------- ■Excelファイル出力メイン処理 -- ----------------------------------------------------- 1.初期処理 1.1.呼び出しパラメータの受け取り 2.2.データベース接続 2.Excelファイル作成処理 2.1.Excelのオープン 2.2.Oracleからデータを取得 (OraDynasetオブジェクトに対してSQLの結果をセット(データベースの接続、クエリ実行、クローズはライブラリで行っています。) 2.3.Excelにデータをセット 以下のように値をセット gvObjSheet.Range("I8").Value = wvDyn.Fields("komoku1").Value 3.Excelファイル保存処理 4.Excelファイルクローズ処理 -- ----------------------------------------------------- ■Excelライブラリ処理 -- ----------------------------------------------------- - ------------------------------ - Excelファイルのオープン - ------------------------------ Set gvObjExcel = New Excel.Application Set gvObjBook = gvObjExcel.Workbooks.Open(指定したフォルダ) Set gvObjSheet = gvObjBook.Worksheets(指定したファイル名) gvObjExcel.Visible = False gvObjExcel.DisplayAlerts = False - ------------------------------ - Excelファイルの保存 - ------------------------------ gvObjBook.SaveAs gvExcelTempPath gvObjExcel.DisplayAlerts = True - ------------------------------ - Excelファイルのクローズ - ------------------------------ gvObjExcel.ScreenUpdating = True gvObjExcel.Quit Set gvObjExcel = Nothing Set gvObjBook = Nothing Set gvObjSheet = Nothing
- Child Tree -