▼ Mr.XRAYさん こんにちは、
早速のお返事をいただきましてありがとうございました。
何の説明もなく大変申し訳ありませんでした。
> ▼ koujiさん,こんにちは.
>
> > wEditName := Copy(wPath, 1 , Length(wPath)-4);
> > objBook.SaveAs (wEditName + '.csv'
> > // ,xlcsv
> > );
>
> xlcsvのところがコメントアウトになっていますが,xlcsvを指定しないと
> csvでは保存しません.Excelファイルで保存することになります.
> 開発環境(Windows,Delphi,Excelのバージョン)はどうなっていますか.
●開発環境は、
WindowsXp(SP2),
Delphi2005,
Excel(自分のは、2003、納品するお客様は2007になります)
>
> 以下の環境で確認しました.
> Windows XP(SP2) + Delphi7 Pro + Excel2000
> Excelを非表示で実行(この方が高速)していますが,表示する必要がなければ
> M & IさんのXBiffを利用するとものすごく高速になりますよ.
>
> http://homepage3.nifty.com/m-and-i/tips/tipspage.htm#component
> http://mrxray.on.coocan.jp/bbs/DelphiBBS/mrxray_delphifan_coffe.cgi?tree=s1661
>
> unit Unit1;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
> Dialogs, StdCtrls;
>
> type
> TForm1 = class(TForm)
> Button1: TButton;
> OpenDialog1: TOpenDialog;
> procedure Button1Click(Sender: TObject);
> private
> { Private 宣言 }
> public
> { Public 宣言 }
> end;
>
> var
> Form1: TForm1;
>
> implementation
>
> {$R *.dfm}
>
> uses ComObj,Excel2000;
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> objExcel : OleVariant;
> objBook : OleVariant;
> wPath : String;
> wEditName : String;
> begin
> //Excelオブジェクト生成
> objExcel := CreateOleObject('Excel.Application');
> objExcel.Visible := False;
> objExcel.DisplayAlerts := False;
>
> OpenDialog1.InitialDir := ExtractFileDir(ParamStr(0));
> try
> if OpenDialog1.Execute then begin
> //ExcelBook オープン
> wPath := OpenDialog1.FileName;// Trim(MltEdit1.Value);
> try
> objBook := objExcel.WorkBooks.Open(wPath);
> except
> on EOleSysError do begin
> MessageBox(Handle,'指定されたファイルを開けません。','警告',MB_OK);
> objExcel.Quit;
> objExcel := unAssigned;
> exit;
> end;
> end;
>
> //拡張子を変更するだけならこれでOK
> wEditName := ChangeFileExt(wPath,'.csv');
> objBook.SaveAs (wEditName,xlcsv);
> end;
> finally
> Screen.Cursor := crDefault;
> objExcel.Quit;
> objExcel := unAssigned;
> end;
> end;
>
> end.
●昨日より、この文章を見て一人でてんぱっておりました。
MrXRAY様のご指摘通り、直したらCSVがすぐに出来ました。
ありがとうございました。
現在、プログラムにも問題はあると思いますが
3分半くらい掛かってしまうため
すぐにテストを行ってみます。
本当にありがとうございました。
また何かあったらご質問させて頂きたいと思いますので
よろしくお願いいたします。
Kouji
|