掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
2つのExcelファイルのそれぞれのシートを取得して保存するには (ID:34159)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんばんは。 過去ログを探しましたが、見当たらなかったので質問させてください。 それぞれデータの入っている、Book1.xls(Sheet1)とBook2.xls(Sheet11)を Book3.xls(Sheet1,Sheet11)に保存したいと考えています。 同一のファイル内のシートのコピーは出来るのですが、違うファイルの シートを移す事ができず、'OLE エラー 800A03EC'になってしまいます。 それぞれシート内では関数が入っていますが、他のシートやファイルをまたぐ 関数はありません。無理なのでしょうか? 現在のソースを書き出しました。下記ソース以外でTExcelApplicationを ExcelApplication1だけにしても同じでした。 長文ではありますが、何かヒントがあれば教えてください。 WinXP(Pro) Delphi7 Ent var LCID: Integer; begin ExcelApplication1.Connect; ExcelApplication2.Connect; try LCID := LOCALE_USER_DEFAULT; ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Open('C:\Book1.xls', EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,0)); ExcelWorkbook2.ConnectTo(ExcelApplication2.Workbooks.Open('C:\Book2.xls', EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,0)); //ここでエラー 'OLE エラー 800A03EC' (ExcelWorkbook1.Sheets['Sheet1'] As ExcelWorksheet).Select(EmptyParam, 0); //ここでシートをコピーしたい! (ExcelWorkbook1.Sheets['Sheet1'] As ExcelWorksheet).Copy( EmptyParam, ExcelWorkbook2.Sheets['Sheet11'] As ExcelWorksheet, LCID); ExcelWorkBook1.SaveAs('C:\Book3.xls',//Filename Integer(xlNormal), //FileFormat EmptyParam, //Password EmptyParam, //WriteResPassword False, //ReadOnlyRecommended False, //CreateBackup xlNoChange, //AccessMode EmptyParam, //ConflictResolution EmptyParam, //AddToMru EmptyParam, //TextCodepage EmptyParam, //TextVisualLayout EmptyParam, //Local LCID); //LCID finally ExcelApplication1.Disconnect; ExcelApplication1.Quit; ExcelApplication2.Disconnect; ExcelApplication2.Quit; end; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.