Veröffentlicht 1. August 200520 j Ich brauche wieder eure Hilfe Ich möchte in Excel Zellen löschen. Ich greife auf Excel mit OLE . So habe ich es versucht leider ohne Erfolg if(m_lpDisp == NULL) return -1; m_lpDisp = m_sheet.GetRange(COleVariant("A1"), COleVariant("A10")); ASSERT(m_lpDisp); m_range.AttachDispatch(m_lpDisp); // löschen von Zellen m_range.Delete(COleVariant((long)-4161)); [/PHP] Kann mir jemand Helfen ??
1. August 200520 j http://www.codeguru.com/Cpp/data/mfc_database/microsoftexcel/article.php/c4307/ Vielleicht hilft Dir das
1. August 200520 j Autor http://www.codeguru.com/Cpp/data/mfc_database/microsoftexcel/article.php/c4307/ Vielleicht hilft Dir das Danke, aber das kenne ich schon Wie gesagt ich greife nicht mit ODBC auf die Excel sondern mit OLE
2. August 200520 j Autor kann mir mindestens jemand sagen ob die Vorgehensweise ok ist ?? Sollte ich wirklich den Objekt von Range versuchen zu löschen, denn eigentlich will ich die ganze Zeile (Spalte) löschen
2. August 200520 j m_sheet.Cells(1, SpaltenIndex).EntireColumn.Delete ? *rat* m_sheet.Columns(SpaltenIndex).EntireColumn.Delete ? *auchrat* so oder so ähnlich. s'Amstel
2. August 200520 j Autor m_sheet.Cells(1, SpaltenIndex).EntireColumn.Delete ? *rat* m_sheet.Columns(SpaltenIndex).EntireColumn.Delete ? *auchrat* so oder so ähnlich. s'Amstel erstmal Danke für den Antwort, m_sheet ist ein Objekt von _Worksheet und hat leider die Funktionen Cells und Columns nicht
2. August 200520 j m_range.EntireColumn.Delete geht auch nicht? das sollte eigentlich spalte A löschen. s'Amstel
2. August 200520 j Autor m_range.EntireColumn.Delete geht auch nicht? das sollte eigentlich spalte A löschen. s'Amstel Ist das VB was Du mir da zeigst ?? das Problem ist, dass die Methode Delete von Range erwartet const VARIANT& Shift und ich kann erstens damit nichts anfangen und zweitens ich will nicht den Inhalt von eine Spalte löschen sondern die ganze Zeile zB. Zeile 1
2. August 200520 j const VARIANT& Shift ist die angabe, welche aktion beim löschen verwendet werden soll: zellen nach links verschiebenzellen nach oben verschiebenganze zeileganze spalte wenn du zeilen statt spalten löschen willst, müsste EntireRow funktionieren. s'Amstel
2. August 200520 j Autor also noch mal mein Cod if(m_lpDisp == NULL) return -1; m_lpDisp = m_sheet.GetRange(COleVariant("B1"), COleVariant("B2")); ASSERT(m_lpDisp); m_range.AttachDispatch(m_lpDisp); m_range.GetEntireRow(); // löschen von Zellen m_range.Delete(COleVariant((long)-4161)); [/PHP] und es ist egal ob ich GetEntireRow() oder GetEntireColumn() aufrufe, kriege ich immer den gleichen Fehler: [b]Die Delete-Methode des Range-Objektes konnte nicht ausgeführt werden.[/b]
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.