Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Excel Macro - Problem beim übersetzen (https://www.delphipraxis.net/133943-excel-macro-problem-beim-uebersetzen.html)

Grolle 12. Mai 2009 15:08


Excel Macro - Problem beim übersetzen
 
Hallo,

ich möchte in meiner Anwendung etwas in einer Excel-Datei suchen und ersetzen.
Allerdings habe ich jetzt ein Problem mit folgendem (Macro)Code:
Delphi-Quellcode:
Cells.Replace What:="a", Replacement:="esca", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
        ReplaceFormat:=False
übersetzt habe ich das so:
Delphi-Quellcode:
  ExcelApp.Cells.Replace.SearchFormat:=False;
  ExcelApp.Cells.Replace.ReplaceFormat:=False;
  ExcelApp.Cells.Replace.MatchCase:=True;
  ExcelApp.Cells.Replace.What := 'a';
  ExcelApp.Cells.Replace.Replacement:='esca';
Das ist aber wohl nicht so richtig :stupid:

Viele Grüße ...

shmia 12. Mai 2009 15:50

Re: Excel Macro - Problem beim übersetzen
 
Replace ist eine Methode und hat viele Übergabeparameter.
Die Replace-Methode gehört zum Range-Objekt.
Code:
HRESULT _stdcall Replace(
                [in] VARIANT What,
                [in] VARIANT Replacement,
                [in, optional] VARIANT LookAt,
                [in, optional] VARIANT SearchOrder,
                [in, optional] VARIANT MatchCase,
                [in, optional] VARIANT MatchByte,
                [in, optional] VARIANT SearchFormat,
                [in, optional] VARIANT ReplaceFormat,
                [out, retval] VARIANT_BOOL* RHS);
Wie man sieht, gibt es einige optionale Parameter.
In Delphi ist man nun meistens gezwungen alle Parameter zu übergeben:
Delphi-Quellcode:
if ExcelApp.Cells.Replace('a', 'esca', xlPart, xlByRows, True, EmptyParam, False, False) then ...
Wenn man für einen Parameter keinen Wert angeben möchte, darf man die Konstante EmptyParam übergeben.

Grolle 12. Mai 2009 15:56

Re: Excel Macro - Problem beim übersetzen
 
Besten Dank :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz