Domino 9 und frühere Versionen > ND6: Entwicklung
Exel Export - delete column ??
Gandhi:
Keine Ahnung.
Mein Vorgehen ist wie folgt:
Ich zeichne ein Macro auf, dass genau das tut, was ich will. In Deinem Fall also würde ich ein Macro aufzeichnen, in dem eine Spalte gelöscht wird.
Dann schaue ich mir das Macro im VBA-Editor an. Den öffnest Du aus Excel über die Optionen Macro editieren.
Dort steht dann schon mal das Grundgerüst - allerdings mit den VBA Konstanten (z.B. Farbe).
Die kannst Du in Integer umwandeln, in dem Du sie im Object Browser (innerhalb des VBA-Editors) nachschlägst.
Den Code kannst Du mehr oder weniger 1:1 übernehmen - Fallstrick ist alleine die Tatsache, dass Du vor Dinge wie Selection noch ein objExcel. schreiben musst.
Greg:
Das mit dem makro aufzeichn hab ich ganz zu anfang gemacht hat leider nicht getan ! Deswegen habe ich dieses Problem auch!
diali:
'xlApp ... Excel-Objekt
z.B. Spalte B löschen
xlApp.Columns("B:B").Select
xlApp.Selection.Delete -4159
z.B. Zelle C2 auf keine Hintergrundfarbe setzen
xlApp.Range("C2").Select
xlApp.Selection.Interior.ColorIndex = -4142
Johnson:
Halli hallo hallöchen,
um eine Spalte zu löschen musst du diese nicht umbedingt selectieren.
Delete ist eine Funktion eines Range-Objektes.
Zum Beispiel:
1. Excel starten
2. Arbeitsmappe erstellen
3. Dritte Spalte aus erster Tabelle entfernen
Dim app As Variant ' excel application object
Dim books As Variant ' workbooks list object
Dim book As Variant ' workbook object
Dim sheets As Variant ' worksheets list object
Dim sheet As Variant ' worksheet object
Dim range as Variant ' range object
Const xlToLeft = -4159
' run excel
Set app = CreateObject("Excel.Application")
app.Visible = True
' add a new woorkbook
Set books = app.Workbooks
Set book = books.Add()
' get the first worksheet
Set sheets = book.Worksheets
Set sheet = sheets(1)
' get the first column and delete column
Set range = sheet.Column(3)
Call range.Delete(xlToLeft)
Ich für meinen Teil vermeide es, Zellenbereiche (Range-Objekte) mit Buchstaben zu adressieren.
Mit Zählern braucht man sich um eine korrekte Adressierung mittels eines Strings nicht zu kümmern.
1. Einen bestimmten Bereich ("A3:C5") als Range-Object (range)
Set range = sheet.Range(sheet.Cells(3,1),sheet.Cells(5,3))
2. Eine Spalte ("S:S") als Range-Objekt (column)
Dim column as Variant
Set column = sheet.Columns(19)
Was deine die Farbcodes betrifft:
Die Eigenschaft ColorIndes des Interior-Objektes (das du von einem Range-Objekt bekommst) holt sich die Farbe aus einem vordefinierten Satz an Farben (s. Menü "Extras\Optionen" Register "Farbe").
Die dort definierten Farben kannst du natürlich ebenfalls manipulieren.
' RGB ist eine Funktion die mir einen entsprechenden Long vert zurück gibt
book.Colors(55) = RGB(206,229,223)
book.Colors(56) = RGB(225,225,225)
' Farbe verwenden
Dim myinterior as Variant
Set myinterior = range.Interior
myinterior.ColorIndex = 55
' keine Farbe verwenden
Const xlNone = -4142
Set myinterior = range.Interior
myinterior.ColorIndex = xlNone
Die Namen der Variablen richten sich nach dem Code oben.
Greg:
OK dankeschön an alle für die Hilfe !!!!
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln