hallo zusammen.
mit diesem code kann ich aus excel die inhalte auslesen.
ich möchte allerdings nicht actievesheet benutzen sondern z.B. Tabelle2
"Activesheet" durch "Tabelle2" austauschen geht nicht.
wie heißt es denn richtig?
danke für eure Hilfe die wie immer toll ist.
gruß
theo
;| mx:GetExcelContents
liest die Zell-inhalte der übergebenen Zeilen und Spalten aus
Parameter (ungeprüft):
zeilen (als Liste)
spalten (als Liste)
Bsp.
(mx:GetExcelContents '(2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ) '(1 2 3 4 5))
(mx:GetExcelContents '(1) '(2))
CADchup, 03-2006 www.CADmaro.de
|;
(defun mx:GetExcelContents (zeilen spalten / excel zellen ergebnisse)
(if
(setq excel (vlax-get-object "Excel.Application"))
(vl-catch-all-error-p
(setq zellen
(vl-catch-all-apply
'vlax-get-property
(list (vlax-get-property
(vlax-get-property
excel
"ActiveWorkbook"
)
"ActiveSheet"
)
"Cells"
)
)
)
)
)
(if zellen
(mapcar
'(lambda (zeile / ergebnis)
(mapcar
'(lambda (spalte / str)
(setq ergebnis
(if (< 0
(strlen
(setq str
(vlax-variant-value
(vlax-get-property
(vlax-variant-value
(vlax-get-property
zellen
'Item
zeile
spalte
)
)
'Text
)
)
)
)
)
(cons str ergebnis)
ergebnis
)
)
)
spalten
)
(setq ergebnisse (cons (reverse ergebnis) ergebnisse))
)
zeilen
)
)
(mapcar 'vlax-release-object (list excel zellen))
(reverse ergebnisse)
)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP