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

解決


みわ  2006-05-25 21:55:48  No: 21824  IP: 192.*.*.*

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

編集 削除
igy  2006-05-26 12:56:35  No: 21825  IP: 192.*.*.*

>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 12:46:15  No: 21826  IP: 192.*.*.*

ローカル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 14:46:37  No: 21827  IP: 192.*.*.*

>        S :=  YoteiTableShigotoKoukai.Value;

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

編集 削除
Basser  2006-05-29 15:18:32  No: 21828  IP: 192.*.*.*

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

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

編集 削除
みわ  2006-05-29 20:50:59  No: 21829  IP: 192.*.*.*

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

編集 削除