TDBMemoをExcelに書き込むと改行が・に

解決


みわ  2006-05-26 06:55:48  No: 21824

Paradoxデータベースのメモ項目をExcelのセルに書き込むと
改行が・になります。この・が表示しないようにするにはどうしたら良いのでしょうか。


igy  2006-05-26 21:56:35  No: 21825

>Paradoxデータベースのメモ項目をExcelのセルに書き込むと

実際には、どのようにして書き込んでいるのですか?

procedure TForm1.Button3Click(Sender: TObject);
var
    Excel: OleVariant;
begin
    try
        Excel := CreateOleObject( 'Excel.Application' );
        Excel.Application.Visible := True;
        Excel.WorkBooks.Add;

        Excel.Worksheets['Sheet1'].Range['A1'] := 'Test';
        Excel.Worksheets['Sheet1'].Range['A2'] := Memo1.Lines.Text;
    except
        ShowMessage( 'Excel is Not Install!' );
    end;
end;

では、TMemoの内容は改行されて格納されますが。


みわ  2006-05-29 21:46:15  No: 21826

ローカルDBのメモ項目をStringGridのセルに書き込んだものをExcelのセルの書き込んでいます。
      S : String;

      YoteiTable.Setkey;
      YoteiTableHiduke.Value := StrToDate(VarHiduke[i]);
      YoteiTableShokuinNo.Value := 900;
      if YoteiTable.Gotokey then begin
        S :=  YoteiTableShigotoKoukai.Value;
      end;
      StringGrid2.Cells[i,0] := S;

画面上(StringGrid2)は問題ありません。

    Book := Excel.WorkBooks.Open('aaaa.xls');
    Sheet := Book.Worksheets[1];
    for i0 := 1 to 7 do begin
      Sheet.Cells[4, i0 + 1] := StringGrid2.Cells[i0, 0];
    end;

印刷すると改行の位置に・が付いてします。


igy  2006-05-29 23:46:37  No: 21827

>        S :=  YoteiTableShigotoKoukai.Value;

  S :=  YoteiTableShigotoKoukai.AsString;
   あるいは
  S :=  Table1.FieldByName('Field1').AsString;
  (Table1を実際のテーブル名に、'Field1'を実際のフィールド名に。)
のような形でしてもダメですか?


Basser  2006-05-30 00:18:32  No: 21828

下記が参考にならないでしょうか?

http://support.microsoft.com/default.aspx?scid=kb;ja;822372


みわ  2006-05-30 05:50:59  No: 21829

Basserさん、MSのページが参考になりました。
改行0D 0Aを0Aにする必要があるのですね。
昔からこの改行コードはいろいろありますね。
さっそく
S := StringReplace(YoteiTableShigotoKoukai.Value, #13#10, #10,[rfReplaceAll]);
で0Dを削除しました。無事解決しました。ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加