Christof N., 25.04.2008 15:22: Hi,
ich möchte auf eine bestehende Excel-Datei zugreifen. Einzelne Zellen sollen ausgelesen und ggfs. auch wieder mit Werten belegt werden.
Geht doch sicher auch mit XProfan, oder?
Zur Not über ActiveX?!
Danke und Gruss
David Strutz, 25.04.2008 15:43: Hilft das [...]
?
Christof N., 25.04.2008 16:10: Leider nicht.
Die Excel-Tabelle hat keine Tabellenstruktur und mehrere Register und ich muss bestimmte raussuchen. Zellen lesen und wieder beschreiben.
David Strutz, 25.04.2008 16:13: Vielleicht weiss da Marc mehr. 
Christof N., 25.04.2008 16:39: Würde mir echt weiterhelfen.
Trotzdem "Danke".
Uwe P.N., 26.04.2008 12:07: Hallo Christof!
Zitat: Geht doch sicher auch mit XProfan, oder?
Zur Not über ActiveX?!
[...]
SeeYou
Pascal
Christof N., 28.04.2008 10:16: Hallo Pascal,
super, damit geht's sicher. Die Beispiele Excel1 und Excel2 funktionieren bei mir einwandfrei. Leider habe ich es noch nicht geschafft, eine vorhandene Excel-Datei zu öffnen. In Excel1.prf habe ich die Zeile
var NewBook&=ocxMethod(WorkBooks&,"Add")
durch
var NewBook&=ocxMethod(WorkBooks&,"Open","C:\\Programme\\XProfan10\\ocxPackage2\\Intern2\\Excel3.xls")
ersetzt. Funktioniert aber nicht. Irgendwas stimmt mit dem/den Parametern (Dateiname) nicht. Die Datei gibt es aber in diesem Verzeichnis. Habe schon alles mögliche ausprobiert. Weisst Du was?
Danke!
Christof N., 28.04.2008 10:23: Hi Pascal,
ich bin's nochmal.
Bin in XProfan noch nicht so bewandert. Kann es sein, dass hier irgendwas fehlt?
proc ocxPutParams'-------------------------------ocxPutParams----------------------------
declare Pos%,v$,v&,v%
dim Param#,(Count%-1)*16'--Parameter-Array
clear Param#
whileloop Count%,3,-1'--bestücken in umgekehrter Reihenfolge!
v$=$(&loop)
v&=&(&loop)
v%=~VT_I4
if left$(v$,1)="*"'------Parameter ist String
v%=~VT_BSTR
v$[&loop]=MultiToWideEx(del$(v$,1,1))
v&=addr(v$[&loop])
elseif left$(v$,1)="#"'--Parameter ist Objekt
v%=~VT_DISPATCH
v&=val(del$(v$,1,1))
endif
word Param#,Pos%=v%'--Typ
Pos%=Pos%+8
long Param#,Pos%=v&'--Wert
Pos%=Pos%+8
endwhile
endproc'---------------------------------------------------------------------------------
Oben werden Count% und Param# angesprochen, die aber hier nicht übergeben oder declariert werden. Wie gesagt, ich versteh's noch nicht so richtig.
Merci!
David Strutz, 28.04.2008 10:28: Beides in übergeordneter Prozedur/Funktion oder gar global?
Christof N., 28.04.2008 10:51: SORRY!
Hallo Pascal,
es funktioniert!!!! Ich hatte nur ein "*" am Anfag des Dateinamens vergessen.
BTW: Warum muss das da hin?
Merci!
Christof N., 28.04.2008 11:23: Hi iF,
jo, jetzt hab ICH's auch endlich kapiert. Deklarierte Variablen sind ja hier auch für die "untergeordneten" Procs sichtbar.
Danke für den Hinweis!
Christof N., 28.04.2008 12:16: Hallo Pascal,
beim Kompilieren mit XPSE bekomme ich immer die Fehlermeldung, dass bei 2 Zeilen das Stringende fehlt. Ich habe dann in der OCX2.PH an folgende Zeilen ein zweites " angehängt. Jetzt geht's!
CoUninitialize(=External("ole32","CoUninitialize"";
AtlAxWinInit(=External("atl.dll","AtlAxWinInit"";
Kannst Du damit was anfangen?
Dies ist die Offlinevariante vom Thread [Zugriff auf Excel-Datei möglich?].
©2006 XProfan.Com