Schwierigkeiten mit Excel-Funktionen TextToColumn und Open
-
Polofreak schrieb:
also in letzter Zeit entäuscht ihr mich ein wenig!
Wie wärs mal mit ner sinnvollen Überschrift... solch Verhalten ist auch sehr enttäuschend...
-
solch verhalten?
LOL
Was solln das? Nur weil die Überschrift nicht sinnvoll WAR? Ist natürlich schreckliches verhalten!!Ich weiß nicht in welchem Teil du Mod bist, aber hier die Mods verstehen wenn man mal einen Spaß macht! Die Mods hier im MFC bemühen sich auch immer zu helfen und schreiben nicht wegen so ner lächerlichen Kleinigkeit gleich so nen Motzpost wie du!
Also lass bitte die Mods im MFC die Arbeit im MFC machen und geh du wieder in deinen Bereich!
-
Solche Überschriften werden aber im allgemeinen automatisch ignoriert, d.h. ein Großteil der Leute wird deinen Post nichtmal gelesen haben.
Also: Lass sowas in Zukunft. Wenn du Frust ablassen musst, dann achte trotzdem auf den Tonfall.
Du hast dich leider in Ecken vorgewagt, die nicht mehr alltäglich sind, dann bekommt man leider auch weniger Hilfe.
Der beste Schluß daraus wäre: Sobald du es rausgefunden hast, schreib eine Anleitung für die FAQ.
-
OK ich seh ja ein dass die Überschrift scheiße war aber ich hab ja nicht gemault, sondern nur kurz angemerkt. Aber OK ich werde mich in Zukunft bemühen die Überschriften passend zu wählen. Das mit dem Ignoriert kann auch fast nicht sein ich hab mal geschaut bevor der Post von junix kam waren schon knapp 40 Hits auf dem Post, also wurde er wohl nicht ignoriert. Naja aber wenn niemand was dagegen hat,
entschuldige ich mich hiermit höflichst bei den Mods aus dem MFC-Forum, kassier die gelbe Karte und möchte dann aber bitte das hiermit vergessen (wenn niemand was dagegen hat).
Ja wenn ich denn dann schlauer geworden bin mit dem ganzen Dreck werde ich einen schönen Post machen den dann vielleicht ein netter Mod wenn er ihn für gut empfindet in die FAQ scheibt.
~P.S.: Überschrift und danach folgendes Zitat stammen von einem Radiomoderator des Radiosenders PSR der mit seinem "sinnlos Telefon" bei Mediamarkt angerufen hat~
.
-
Probier das ganze doch in VB und VBA und übertrage das (erfolgreiche) Ergebnis
einfach in C++.
1.) In VB kann man einfacher Testen "change and continue" "Direct-Fenster" usw.
2.) In VBA kannst du den Ablauf möglicherweise sogar mittels Macro-Recorder erstellen und anschliessend das Makro als Vorlage verwenden.
-
genau so hab ich es bisher versucht.
TextToColum ist jetzt nicht mehr so wichtig, da ich es ja jetzt mit einem Datenbankobjekt erstelle und es da schon richtig ist. Dann öffne ich es und bearbeite es dann. Aber gleiches Problem ist mit BorderAround:
wenn ich das als Makro aufzeichne dann bekomme ich folgenden VB Code:Sub Makro2() ' ' Makro2 Makro ' Umranden ' ' Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone Selection.Borders(xlEdgeLeft).LineStyle = xlNone With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With With Selection.Borders(xlEdgeBottom) .LineStyle = xlContinuous .Weight = xlThin .ColorIndex = xlAutomatic End With Selection.Borders(xlEdgeRight).LineStyle = xlNone Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone End Sub
Und die FKT sieht in C++ so aus:
VARIANT Range::BorderAround(const VARIANT& LineStyle, long Weight, long ColorIndex, const VARIANT& Color) { VARIANT result; static BYTE parms[] = VTS_VARIANT VTS_I4 VTS_I4 VTS_VARIANT; InvokeHelper(0x42b, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms, &LineStyle, Weight, ColorIndex, &Color); return result; }
wenn ich die jetzt aber so aufrufe:
range.BorderAround(COleVariant("xlEdgeTop"),1,0,covOptional); //oder range.BorderAround(COleVariant("xlEdgeTop"),1,0,COleVariant("black"));
kommt immer der oben bei TextToColum zitierte Fehler!
Was mach ich denn falsch??
-
Warum verwendest du eigntlich dieses SCH.... Dispatch-Interface. Die DLL hat
ein duales Interface und ermöglicht dir daher "typsicheres" Arbeiten ohne
dieses Invoke und Variant Gerümpel.
Einfach mit #import reinziehen und schon sieht der Code "fast" wie in VB aus.
-
was?
Ich benutze dieses sch... Dispatch Interface, da mir bisher nichts anderes bekannt war, was muss ich wo machen?Würde mich riesig über eine ausführlichere Erklärung freuen!
P.S.:
Rahmen kann man so setzen:Border bottomborder; borders = range.GetBorders(); bottomborder = borders.GetItem((long)3); bottomborder.SetWeight(COleVariant((short)2)); //xlThin = 2
-
Ich verwende bei Einbindung von COM-Komponenten wenn möglich, eine Vorgehen nachfolgender Art:
http://www.experts-exchange.com/Programming/Programming_Languages/Cplusplus/Q_20642013.html
-
Hm scheiße, das sieht ja viel einfacher aus als dieser Dreck den ich da mache! Die Sachen die da im example stehen sind ja wirklich VB like! sprich ich mal mal wie ich es gerne hätte zeichne Makro auf, schmeiß es ins VC++ mach paar anpassungen und fertig! Wie gut des isch!
Ich werd das bei Gelegenheit mal ausprobieren, doch mittlerweile ist mein Excelsheet schon so weit formatiert, dass ich das jetzt nicht mehr verwerfen will! Aber ich brauch sowas mit Sicherheit wieder!
Vielen herzlichen Dank!