![]() |
Sonderzeichen Hochkomma '
Hallo liebe Delphi Community,
ich schreibe gerade eine Routine für Datenexport. Sie erzeugt ein Excel Dokument. In den Excel Dokument sollen die einzelnen Tabsheets miteinander verlinkt werden via Hyperlink. Das ist der String den ich übergebe. " '=HYPERLINK(#39 + getBez(lindex)+ #39+ '!Z22S2;"'+AValue.nummer+'")' " Wenn ich den String anschließend Auswerte habe ich wo #39 steht aber 2 Hochkomma statt eins. Damit kann Excel aber leider nicht umgehen. Hat jemand eine Idee warum das so ist ? |
AW: Sonderzeichen Hochkomma '
Bei Strings mit Hochkomma kommt es auf jedes einzelne Zeichen an. Poste mal den Code, der den String erstellt und speichert.
|
AW: Sonderzeichen Hochkomma '
Code:
aValue.Nummer := 16 Zeichen ohne Sonderzeichen
lDummy := '=HYPERLINK('+ #39 + getBez(lindex)+ #39 + '!Z22S2;"'+AValue.nummer+'")';
fexcel.ActiveWorkSheet.Cells[fRowIndexProfile,32 + lIndex].Formula := lDummy; function getBez (aTabSheetIndex: Cardinal): string; begin case aTabSheetIndex of 1: Result := 'Artikel'; 2 .. 11: Result := 'Verbinder' + IntToStr(aTabSheetIndex-1); 12 .. 21: Result := 'Andere-Verbinder ' + IntToStr(aTabSheetIndex-11); end; end; |
AW: Sonderzeichen Hochkomma '
Zeigst du uns bitte auch noch das Ergebnis, das du erwartest und das das in Excel in der Zelle ankommt?
|
AW: Sonderzeichen Hochkomma '
=HYPERLINK(''Eckverbinder 1''!Z(-7)S;"test") den String habe ich.
=HYPERLINK('Eckverbinder 1'!Z(-7)S;"test") Den String möchte ich haben. |
AW: Sonderzeichen Hochkomma '
Delphi zeigt Dir nur zwei ' an. Du siehst also:
Code:
Alles ist richtig. Um hier mehr Sicherheit zu bekommen, das dein String richtig ist, würde ich erstens Format verwenden und zweitens die Hochkomma über 'QuotedStr' erzeugen.
'HYPERLINK([COLOR="yellow"]''[/COLOR]Artikel[COLOR="Yellow"]''[/COLOR]!Z2S2;"16ZeichenOhneSonderzeichen"
Delphi-Quellcode:
PS: Um sicher zu gehen, den string einfach mal mit ShowMessage anzeigen lassen.
sheetName := GetBez(lIndex);
myExcel := Format('=HYPERLINK(%s!Z2S2"%s"',[QuotedStr(sheetName), Avalue.Nummer]); // oder so, ohne QuotedStr myExcel := Format('=HYPERLINK(''%s''!Z2S2"%s"',[sheetName, Avalue.Nummer]); |
AW: Sonderzeichen Hochkomma '
Liste der Anhänge anzeigen (Anzahl: 1)
In der Messagebox wird der String aber auch falsch angegeben. Getest mit myExcel := Format('=HYPERLINK(''%s''!Z2S2"%s"',[sheetName, Avalue.Nummer]);
|
AW: Sonderzeichen Hochkomma '
sheetName ist wohl in diesem Fall leer? Und das ; fehlt auch?
|
AW: Sonderzeichen Hochkomma '
Upps ja das stimmt lsheetName war leer. Funktioniert jetzt.
Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz