Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Einbindung von Office-Komponenten wie Word, Excel usw.

Moderator: Moderatoren

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » Mo, 17. Nov 2014 19:54

Das nächste Problem:
Wenn der User interaktiv im geladenen Excel-Sheet ändert (in eine Zelle klickt) ist der Zugriff über das Excel-Objekt auch wieder gesperrt bzw. "unklar". So lange bis der Benutzer die Zelle verlässt/das Editieren beendet.

Habe den Zustand versucht abzufragen, z.B. mit
u1 := oExcel:Application:UserControl
u2 := oExcel:Application:Interactive

aber es scheint als wäre der gesamte Zugriff auf das Excel-Objekt "blockiert". Alle Befehle die ich versucht habe stürzen ab.
(So ein Käse, so langsam ärgert mich das wirklich)

Jemand 'ne Idee?
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon AUGE_OHR » Mo, 17. Nov 2014 21:54

Roland Gentner hat geschrieben:Habe den Zustand versucht abzufragen, z.B. mit
u1 := oExcel:Application:UserControl
u2 := oExcel:Application:Interactive
...
Jemand 'ne Idee?
ich denke nicht das dir ein "Zustand" (Property) was nützt ... du musst "alle" Events abfangen wenn du "interaktive" arbeiten willst.
Code: Alles auswählen
Worksheet :
*********
Activate
AddRef
BeforeDoubleClick
BeforeRightClick
Calculate
Change
Deactivate
GetIDsOfNames
GetTypeInfo
GetTypeInfoCount
Invoke
QueryInterface
Release
SelectionChange

Workbook:
*******
Activate
AddinInstall
AddinUninstall
AddRef
BeforeClose
BeforePrint
BeforeSave
Deactivate
GetIDsOfNames
GetTypeInfo
GetTypeInfoCount
Invoke
NewSheet
Open
QueryInterface
Release
SheetActivate
SheetBeforeDoubleClick
SheetBeforeRightClick
SheetCalculate
SheetChange
SheetDeactivate
SheetSelectionChange
WindowActivate
WindowDeactivate
WindowResize

Application:
*********
Activate
AddRef
BeforeDoubleClick
BeforeRightClick
Calculate
Deactivate
DragOver
DragPlot
GetIDsOfNames
GetTypeInfo
GetTypeInfoCount
Invoke
MouseDown
MouseMove
MouseUp
QueryInterface
Release
Resize
Select
SeriesChange
solltest du auch "Chart","OLEObject" oder "QueryTable" verwenden sind die entsprechenden Events auch zu beachten.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10306
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » Mo, 17. Nov 2014 22:09

Hallo Jimmy

ich werde versuchen Deine Liste durchzuarbeiten und schauen ob irgendeine Antwort kommt.

Wenn ich in der Arbeitsmappe in eine Zelle klicke hat es den Anschein als würde Excel jeglichen Zugriff über das Excel-Objekt blockieren bis ich die Eingabe in die Zelle beende.
Versuche ich während dieser Zeit auf das Excel-Objekt zuzugreifen kommt eine Fehlermeldung, meist so:
    E R R O R O B J E C T
    oError:args:
    1 -> VALTYPE: C VALUE: Application
    oError:canDefault:.T.
    oError:canRetry:.F.
    oError:canSubstitute:.T.
    oError:cargo:NIL
    oError:description:Aufruf wurde durch Aufgerufenen abgelehnt.
    oError:filename:NIL
    oError:operation:Application
    oError:osCode:-2147418111
    oError:severity:2
    oError:subCode:6500
    oError:subSystem:Automation
    oError:thread:1
    => Fehler bei der Generierung der ErrorObjectList
Mit oExcel:Application:Interactive := .F. / .F. begrenze ich die interaktiven Zugriffsmöglichkeiten des Users auf ein bestimmtes Zeitfenster. So klappt das jetzt langsam...
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon brandelh » Mo, 17. Nov 2014 23:55

Roland Gentner hat geschrieben:Das nächste Problem:
Wenn der User interaktiv im geladenen Excel-Sheet ändert (in eine Zelle klickt) ist der Zugriff über das Excel-Objekt auch wieder gesperrt bzw. "unklar". So lange bis der Benutzer die Zelle verlässt/das Editieren beendet.


mal ehrlich, wenn du während deine Anwendung 1000 Datensätze updatest mit Satzsperren, gleichzeitig mit dem HexEditor in der Datei herumschreibst,
dann wunderst du dich doch auch nicht oder ?

Wie genau übergibst du eigentlich deine Daten ?
Per Cut&Paste oder weißt du einer Zelle den value zu ? Im ersten Fall ist man extrem darauf angewiesen, dass der Curser weiß wo er zu stehen hat.
Und natürlich ist eine Zelle schreibgeschützt wenn einer darin herumschreibt.

Ich habe doch beschrieben wie man während der Datenübergabe das Blatt verstecken kann, dann kann auch keiner gleichzeitig draum herumfummeln.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13483
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » Di, 18. Nov 2014 0:44

Hallo Hubert

es geht vorrangig um das Zusammenspiel meines Progs per Excel-Objekt mit dem interaktiv tätigen User in Excel. Ein häufiges Ein-/Ausblenden des Excel-Fensters wäre unschön.

Z.B. sollen beim Ausarbeiten einer umfangreichen Kalkulationsmappe bereits reelle Werte erscheinen. Der User wählt eine Zelle mit der Maus aus und
- füllt in die Zelle einen vorher vereinbarten Code welcher dann von meinem Prog nach verlassen des Editiermodus der Zelle in den richtigen Wert getauscht wird + Formatierung.
- gibt der Zelle einen von vorher vereinbarten Namen. Mein Prog füllt die Zelle mit dem Referenzwert + Formatierung.
- wählt in meinem Prog aus einer Liste den in der Arbeitsmappe einzutragenden Wert aus.
- usw...

Deshalb meine anfängliche Frage nach der exakten Statusabfrage des Excel-Objekts.
Es scheint so als könnten jederzeit Störungen in der Kommunikation mit dem Excel-Objekt auftreten - insbesondere bei User-Eingriffen. Es wär nicht verkehrt die Wichtigsten zu kennen und möglichst abzufangen.

Das automatisierte ein-/auslesen von Werten in/aus einem vollständig vordefinierten Arbeitsblatt ist ein anderes Thema.
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Wolfgang Ciriack » Di, 18. Nov 2014 8:35

Dann laß doch den User in deinem Programm die Werte eingeben (z.B. in einem Browse mit Cell-Editing) und übertrage dann die Werte in einem Rutsch. Ist meines Erachtens efektiver als immer hin- und her zuschalten.
Viele Grüße
Wolfgang
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 2245
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon brandelh » Di, 18. Nov 2014 9:43

Ich denke nicht, dass dieses Verhalten von Excel / ActiveX vorgesehen war.
Nach meinen Erfahrungen ist genau dieses Verhalten (gemeinsamer Zugriff) nicht sinnvoll.

Und warum den Code in Excel eingeben und in deinem Programm dann in einer Liste suchen ?
Ich würde dafür ein kleineres Fenster bauen, das von den Eigenschaften XbpDialog():alwaysOnTop := .t. ist.
IN Excel die Zielzelle wählen und dann mit der Maus auf dein Fenster klicken (Fokuswechsel geht nicht automatisch).
Dort im XbpSLE das Kürzel oder die Werte erfasssen oder gleich aus einer Liste auswählen und per XbpPushbutton() die Übergabe veranlassen.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13483
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Tom » Di, 18. Nov 2014 11:05

Ich verwende Excel in einer ähnlichen Situation so, wie Wolfgang das angedeutet hat. Es geht konkret z.B. um das Ausfüllen von Controlling-/Benchmarking-Tabellen, die von einem Institut vorgefertigt werden. Die zu besetzenden Zellen sind mit Namen versehen, das Layout aber wechselt halbjährlich. In der Anwendung werden Daten erhoben, dazu erscheint dann ein Eingabefenster, um die zusätzlich erforderlichen Daten zu erfassen. Anschließend erzeugt die Anwendung eine Kopie der Vorlage, öffnet sie versteckt, füllt sie mit den Daten - und erst wenn das alles geklappt hat, wird Excel abermals sichtbar gestartet, mit der ausgefüllten Tabelle.
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
 
Beiträge: 6726
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon brandelh » Di, 18. Nov 2014 11:54

Wer Tabellen versteckt ausfüllen und in Abhängigkeit zu Inhalten etwas damit tun will, sollte sich auch mal die LibXL.DLL (mit meiner Klasse HBLibXL) ansehen,
man braucht kein Excel und es geht schneller als mit ActiveX. Bei einigen 100 bis 1000 Werten macht das schon was aus.
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13483
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » Di, 18. Nov 2014 12:53

Danke für Eure Vorschläge und Bedenken.

Es gibt manchmal einige Wege die zum Ziel führen - in diesem Fall also per Xbase++ mit Excel-Tabellen zu kommunizieren.
Der von mir beschriebene ist eben ein anderer Weg. Interaktiv teilautomatisiert :)
Vor allen Dingen ist es so gewollt. Es ist auch immer eine Frage des Betrachtungswinkels.
Und es funktioniert seit heute Nacht auch einigermaßen (in rudimentärer Form...).

Mal sehen wie viele neue Stolpersteine der Live-Betrieb mit sich bringt...

Nichts desto trotz lässt die Statusabfrage des Excel-Objekts zu wünschen übrig. Damit kann ich leben - der Endkunde muss damit leben.
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon brandelh » Di, 18. Nov 2014 13:18

Roland Gentner hat geschrieben:Nichts desto trotz lässt die Statusabfrage des Excel-Objekts zu wünschen übrig. Damit kann ich leben - der Endkunde muss damit leben.

Stimmt, es wäre besser wenn Microsoft da mehr getan hätte :wink:
Gruß
Hubert
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
 
Beiträge: 13483
Registriert: Mo, 23. Jan 2006 21:54
Wohnort: Germersheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon AUGE_OHR » Mi, 19. Nov 2014 21:29

Roland Gentner hat geschrieben:Nichts desto trotz lässt die Statusabfrage des Excel-Objekts zu wünschen übrig.
Nö ... es ist der Weg den du benutzt. Es gab da mal ein "DSOFramer.FramerControl" ...
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10306
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Werner_Bayern » Mi, 19. Nov 2014 21:58

AUGE_OHR hat geschrieben:Nö ... es ist der Weg den du benutzt. Es gab da mal ein "DSOFramer.FramerControl" ...

Vorsicht, DSOFramer funktioniert nur bis einschließlich Office 2007!
es grüßt euch

Werner
Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
 
Beiträge: 1234
Registriert: Sa, 30. Jan 2010 23:58
Wohnort: Niederbayern

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » Mi, 19. Nov 2014 23:19

Hallo Jimmy
AUGE_OHR hat geschrieben:Es gab da mal ein "DSOFramer.FramerControl" ...
was ist das?
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Werner_Bayern » Mi, 19. Nov 2014 23:42

Alaska xpp-compilation-de

Aber ich rate dringend davon ab! Ist eine Sackgasse. Ist uralt das OCX von Microsoft und wird nicht mehr weiterentwickelt. Es gibt keine bezahlbare Alternative dazu!
es grüßt euch

Werner
Benutzeravatar
Werner_Bayern
Programmier-Gott
Programmier-Gott
 
Beiträge: 1234
Registriert: Sa, 30. Jan 2010 23:58
Wohnort: Niederbayern

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » Do, 20. Nov 2014 0:02

Hallo Werner

also OSD...= totes Gleis,

Danke
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon AUGE_OHR » Do, 20. Nov 2014 1:36

Werner_Bayern hat geschrieben:Aber ich rate dringend davon ab! Ist eine Sackgasse.
YUP ... darauf wollte ich bei Roland hinaus ;)

der DSOframer war ja ein Versuch von M$ Office COM als Control "in" einer Applikation zu verwenden wobei die Events an den Parent weitergeleitet werden.
Die Office COM Schnittstelle ist ja bi-direktional ausgelegt und bei jeder User Tätigkeiten wird ein Event "gesendet".
man sollte schon "alle" Events "auswerten" ... egal was man dann macht {|| NIL }.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10306
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » So, 30. Nov 2014 14:52

Hallo Klaus

bin erst jetzt dazugekommen Deinen Vorschlag zu testen:
Koverhage hat geschrieben:oBook:BeforeClose := {||lExcelFinished := .T.}

Da bekomme ich aber eine Fehlermeldung:
oError:args:
1 -> VALTYPE: C VALUE: BeforeClose
2 -> VALTYPE: B VALUE: {||lExcelFinished := .T.}
oError:description:Unbekannter Name.
Member-Variable ist für dieses Objekt unbekannt
oError:operation:BeforeClose
oError:osCode:-2147352570
oError:severity:2
oError:subCode:6500
oError:subSystem:Automation
oError:thread:1

Habe Win8 + Office 2010
Muss ich ein "anderes" oBook verwenden?
Code: Alles auswählen
oBook := oExcel:ActiveWorkBook


Das wäre schon eine prima Funktion...
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » So, 30. Nov 2014 15:05

ERGÄNZUNG

habe gerade noch etwas gefunden in einem älteren Beitrag:
viewtopic.php?f=28&t=2471&p=28657&hilit=dynamiccast#p28657
Damit scheint es zu gehen...
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon AUGE_OHR » So, 30. Nov 2014 18:58

Roland Gentner hat geschrieben:dynamiccast...
Damit scheint es zu gehen...
dann kannst du ja jetzt auch die Events verarbeiten.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10306
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » So, 30. Nov 2014 19:12

Hallo Jimmy

hatte mich in der Vergangenheit mit DynamicCast() nicht weiter beschäftigt - jetzt weiß ich wenigstens auch wann und warum man das manchmal braucht.

Noch was anderes:
Code: Alles auswählen
lSaved := oBook:Saved

Die Zeile sollte mir eigentlich zeigen wenn ein geändertes Arbeitsblatt bereits gespeichert wurde. Tut es aber nicht, es kommt immer .F. zurück.
Auch wenn ich in Excel gerade "speichern" gedrückt habe.

Suche eigentlich eine Funktion welche mir sagt ob der Benutzer in Excel irgend etwas geändert hat. Dass ich Ihn beim Verlassen von Excel fragen kann ob er "Speichern" will.
Im Moment wird er immer gefragt, auch wenn nichts geändert wurde.
So einen "geändert"-Flag müsste es im Excel-Objekt doch bereits geben - oder?
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon AUGE_OHR » So, 30. Nov 2014 19:28

Roland Gentner hat geschrieben:hatte mich in der Vergangenheit mit DynamicCast() nicht weiter beschäftigt - jetzt weiß ich wenigstens auch wann und warum man das manchmal braucht.
mit CreateObject() kannst du ja KEINE activeX Events mit o:subscribeEvent() "abonnieren" sondern muss erst per DynamicCast() ein ActiveXObject() machen.
Roland Gentner hat geschrieben:Noch was anderes:
Code: Alles auswählen
lSaved := oBook:Saved

Die Zeile sollte mir eigentlich zeigen wenn ein geändertes Arbeitsblatt bereits gespeichert wurde.
Tut es aber nicht, es kommt immer .F. zurück.
ein Arbeitsblatt ist ein "Worksheet" ...
Roland Gentner hat geschrieben:Auch wenn ich in Excel gerade "speichern" gedrückt habe.
hm ...
lege mal ein "neues" Workbook an und frage dann die o:Saved Property ab wenn es noch NICHT gespeichert wurde.
Roland Gentner hat geschrieben:Suche eigentlich eine Funktion welche mir sagt ob der Benutzer in Excel irgend etwas geändert hat. Dass ich Ihn beim Verlassen von Excel fragen kann ob er "Speichern" will.
Im Moment wird er immer gefragt, auch wenn nichts geändert wurde.
So einen "geändert"-Flag müsste es im Excel-Objekt doch bereits geben - oder?
für "Worksheet" gibt es den "Change" Event.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10306
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » So, 30. Nov 2014 21:54

Hallo Jimmy

mit oSheet:Change
so wie mit
oBook:SheetChange
habe ich rumprobiert. Keiner der Events wird ausgelöst - zumindest nicht in meinen Tests :?
Ich muss ja dort Parameter angeben - wo landet das ausgelöste Signal dann aber...?

Ergänzung:
Meine Frage muss vermutlich lauten: Wie belege ich den jeweiligen Event-Kanal mit einer Funktion (Block)?

NOCHMAL NACHTRAG:
Habs gefunden... :banghead:
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon Roland Gentner » So, 30. Nov 2014 22:12

trotzdem seltsam:

bei
Code: Alles auswählen
oSheet:Change := { | oSheet , cRange | ChkCell1( oSheet , cRange ) }
so wie bei
oBook:SheetChange := { | cRange | ChkCell2( cRange ) }
sollte bei cRange ein String zurückkommen, es wird aber ein Objekt übergeben. Ein Range-Objekt?
Gruß
Roland
Benutzeravatar
Roland Gentner
1000 working lines a day
1000 working lines a day
 
Beiträge: 672
Registriert: Fr, 24. Nov 2006 9:30
Wohnort: Neresheim

Re: Excel-Object: Excel geöffnet? Arbeitsblatt geladen?

Beitragvon AUGE_OHR » Mo, 01. Dez 2014 3:29

Roland Gentner hat geschrieben:
Code: Alles auswählen
oSheet:Change := { | oSheet , cRange | ChkCell1( oSheet , cRange ) }
so wie bei
oBook:SheetChange := { | cRange | ChkCell2( cRange ) }
sollte bei cRange ein String zurückkommen, es wird aber ein Objekt übergeben. Ein Range-Objekt?
em ... äh ... wir sprechen von activeX Events und nicht von Property wo du "etwas" ( Codeblock ) zuweisen könntest.

ein activeX Event musst du "abonnieren" mit o:subscribeEvent()
Code: Alles auswählen
   cEventName := "Change"
   nDISPID := oSheet:isEventPublished( cEventName )
   IF nDISPID <> 0
       lSuccess := oSheet:SubscribeEvent( nDISPID, { |a| MSGBOX("Change "+Var2Char(a)) } )
       IF lSuccess
           AADD(aEvents,{cEventName,nDISPID})
       ENDIF
   ENDIF
das ganze funktioniert natürlich nur wenn du vorher
Code: Alles auswählen
   oSheet := oSheet:dynamicCast( ActiveXObject() )
durchgeführt hast.
( p.s. dito das selbe für "Workbook" und "Application" also jede COM Class die du benutzt )

... und am Schluss "aufräumen" nicht vergessen d.h. mit o:unsubscribeEvent() alle Verbindungen lösen bevor du die jeweilige COM Class wieder auf NIL setzt.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10306
Registriert: Do, 16. Mär 2006 8:55
Wohnort: Hamburg

VorherigeNächste

Zurück zu MS Office

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast