Hallo zusammen,
ist möchte gerne nützliche Funktionen mit Dialogen aus einer C# Applikation von anderen Programmen heraus z.B. VBA aufrufen.
Ist dafür ein "COM Server" bzw. die Ole Automation noch die angesagte Methode oder wie macht man das heutzutage in c#.
Hallo texMan,
ich habe mal den Titel in das geändert, von dem ich annehme deine Fragestellung zu treffen. Falls es was besseres gibt, ändere es bitte entsprechend.
Gruss
Coffeebean
Microsoft MVP // Me // Blog // GitHub // @Egghead // All my talks // Speakerdeck
Hallo texMan,
nützliche Funktionen mit Dialogen
Meinst du den Dialog mit C# erstellen und dann in VBA verwenden?
Auch wenn ich da keine praktische Erfahrung habe, so wäre das wohl via COM möglich.
Generell würde ich aber keine UI / Dialoge bereitstellen, sondern nur die Logik dahinter und die UI in der "Zielplattform" erstellen.
Da aber eine .net-Dll ohne COM ohnehin in VBA nicht verwendet werden kann*, so können UI / Dialoge schon bereitgestellt werden.
Je nach Art deiner "nützlichen Funktionen" könntest du auch überlegen ob du diese nicht allgemeiner per Service (HTTP geht in VBA) bereitstellst, so dass du nicht auf COM beschränkt bist.
* ich gehe davon aus dass dies immer noch stimmt
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Du kannst ohne Probleme eine COM-DLL in c# schreiben und diese in VBA einbinden. Ich hab' das schon öfter gemacht bzw. machen müssen.
Bei mir ging es beispielsweise darum ein Fremdprodukt, welches keine COM-Schnittstelle mehr anbietet, in eine alte VB6-Anwendung zu implementieren. Das ging dann nur über den Umweg einer c# COM-DLL.
Auf diese Frage genau geantwortet: mit Sicherheit.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Sollte man mal gelesen haben: