Einen AnsiString an Excel übergeben
-
habe ich probiert!
strData = mandantenNummer_Ges; MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", 1,4). OlePropertySet("Value", strData);
Schmiert ab mit: "Falscher Variable Typ!"
-
Probier mal eine der beiden folgenden Varianten
MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", 1,4). OlePropertySet("Value", strData.c_str());
oder
MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", 1,4). OlePropertySet("Value", Variant(strData));
-
zu1: strData.str() geht nicht bei Variant
zu2: "falscher Variable Typ!"
-
Ich hatte fälschlicherweise angenommen, dass strData vom Typ AnsiString ist. Warum übergibst du nicht direkt mandantenNummer_Ges? Abgesehen davon sollte die Variante von akari problemlos funktionieren. Vielleicht liegt es ja gar nicht an strData.
-
weil das von akari auch nicht geht....ich vermute er hat das problem einen ansiString zu übergeben!
Mache ich das so:
int castedManNGes; castedManNGes = StrToInt(mandantenNummer_Ges); strData = castedManNGes; MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", 1,4). OlePropertySet("FormulaR1C1" , strData);
...funktioniert das!!!!
-
so ein mist!
ich kann zwar zahlen übergeben aber keine zeichenketten aus einer variablen.// j steht für die zeile und 1 für die spalte MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", j,2). OlePropertySet("Value", strData);
will ich in strData(Variant) zeichenketten speichern bekomme ich immer falscher variabletyp zahlenwerte funktionieren aber.
schreibe ich
// j steht für die zeile und 1 für die spalte MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", j,2). OlePropertySet("Value", "hasse nich gesehen");
geht das auch
ratlos....plz help
-
Wie gesagt, probiers mal so
MyWS.OlePropertyGet("Cells").OlePropertyGet("Item", j,2).OlePropertySet("Value" , mandantenNummer_Ges.c_str());
Du könntest auch einfach die im Link erwähnte Wrapperklassen verwenden
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39259.html
-
ja so gehts!!!! DANKE Braunstein!
Was ist das für eine Funktion???
Was macht die und warum ist das hier notwendig???
-
Schau doch einfach mal in die Hilfe zu AnsiString.
c_str() gibt einen const char* zurück (Nullterminiert), der den String enthält. Scheinbar erwartet OlePropertySet("Value" , ..); einen derartigen String. Normalerweise steht hier ein Variant und der hat eigentlich einen Konstruktor für AnsiString. Schau doch auch mal in die Bibliothek von AndreasW (siehe obigen Link). Die verwende ich auch. Ich habe sie allerdings noch etwas verändert (debuggt und erweitert). Wenn du willst kann ich sie dir zuschicken oder falls ein Moderator das zulässt in die FAQ mit einfügen.
-
Wenn sie ordentlich kommentiert ist, gerne.
Poste sie ggf. hier, wir werden den FAQ-Eintrag dann entsprechend erweitern.