| 

.NET C# Java Javascript Exception

3
Ich betreue eine in VB.NET geschriebene Anwendung, die exzessiv mit Excel kommuniziert. Unter anderem wird eine Excel-Instanz als User-Control in einem Fenster eingebunden. Der Anwender kann hier in der Anwendung verwaltete Zeitreihen auswählen, die dann unter Anderem als Grafik dargestellt werden. Er hat auch die Möglichkeit, Zeitreihenwerte in Excel zu ändern, diese Änderungen werden in die Anwendung zurück übertragen. Auf Excel-Seite ist dies über VBA und eine eingebundene DLL realisert.

Zur Zeit läuft die Anwendung als 32-Bit Applikation unter Windows XP. Zukünftig soll die Anwendung als 64-Bit Applikation unter Windows 7 laufen. Excel wird die 64-Bit Version von Excel 2010 sein. Ich habe im Internet einen Haufen an Infos gefunden, aus denen ich entnehme, dass OLE auch unter 64-bit grundsätzlich möglich ist, bin mir aber nicht sicher, ob dies auch in der Konstellation meiner Anwendung funktionieren wird. Generell habe ich auf alle an der Kommunikation beteiligten Komponenten Zugriff. So ist z.B die DLL, welche die Änderungen innerhalb Excel an die Anwendung kommuniziert, selbstgeschrieben und wird ebenfalls auf 64-Bit umgestellt (es war ursprünglich eine ActiveX-DLL die mittlerweile nach Manged C++ protiert wurde).

Ich bin für jeden Hinweis zum Thema dankbar

Gruß
Klaus
News:
29.02.2012
luedi 2,0k 1 9
1 Antwort
1
Ich habe schon mehrere 32-Bit-Anwendungen mit Excel-OLE-Ansteuerung von 32 Bit / XP auf 64 Bit / Win7 umgestellt. Die waren alle in C# geschrieben. Bei mir gab es damit keine Probleme, und das ging einigermaßen zügig. Dann sollte es unter VB.NET auch gehen.
Ich weiß nicht genau, was du mit "wird eine Excel-Instanz als User-Control in einem Fenster eingebunden" meinst. Ich denke, du musst einfach ausprobieren, ob und welche Probleme es gibt.
29.02.2012
KN 1,7k 1 8
Danke für die Info. Ich mache mir am meisten Sorgen, ob das mit der Zwei-Wege Komunikation weiterhin klappt. Wir feuern innerhalb von Excel Events, die auf der .NET-Seite verarbeitet werden.

Das mit Excel als User-Control ist eigentlich ganz einfach. Per P/Invoke werden Fenstertitel, Fensterrahmen und Menü entfernt und dann wird das Excel-Fenster innerhalb des Formulars eingeblendet und sieht so aus, als wenn es Teil des Formulars ist. Im Prinzip simuliere ich damit das alte OLE-Steuerelement von VB 6.
luedi 01.03.2012
Excel-Events kamen bei mir nicht vor. Ob das alles problemlos funktioniert, kann ich nicht sagen. Das mit dem Excel als User-Control klingt interessant, kann ich mir bei uns auch vorstellen. Könntest du da mal den Code posten?
KN 01.03.2012
Im Prinzip schon, die Grundlage hierfür war ein Artikel auf Codeproject. Ich bin aber noch nicht lange in diesem Forum. Kann man hier irgendwo zip-files ablegen? Der Source ist ziemlich umfangreich.
luedi 02.03.2012
Ich weiß auch nicht, ob und wie man hier zip-Files ablegen kann. Aber du könntest den Link zu codeproject posten. Danke!
KN 02.03.2012
1
ich habe gerade den Link zu dem Artikel wiedergefunden (er ist schon etwas älter :-)):

http://www.codeproject.com/Articles/11819/Integrating-Microsoft-Word-in-your-NET-application
luedi 03.03.2012
Vielen Dank! Werde ich dieser Tage gleich probieren.
KN 04.03.2012

Stelle deine .net-Frage jetzt!