Announcement

Collapse
No announcement yet.

VB.net ohne Form

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VB.net ohne Form

    Werte VB.NET Cracks,
    Ich habe bisher nur VBA in Excel verwendet und muss jetzt in einer Anwendung VB.NET verwenden. Dazu verwende ich Visual Studio 2008.
    Nun meine Fragen:
    1) Bei VB.NET wird immer eine Form geöffnet über die dann mit dem Programm kommuniziert wird. Ich würde gerne ohne Forms auskommen. Könnte mir bitte ein einfaches Programm zur Verfügung stellen, da aus der Zelle A1 von Excel den Wert ausliest und diesen Wert in Zelle A2 einfügt?
    2) Handle: Ich habe ein Programm, da einen Handle benutzt und zwar in der Form me.handle. Wie kann ich einen Handle ohne Form realisieren?

  • #2
    Excel Dateien unter VB.NET auslesen würde ich nur machen, wenn es unbedingt dieser Weg sein MUSS.
    Es gibt eine Bibliothek (glaub Microsoft.Office.Interop) mit der man Excel fernsteuern kann. Allerdings finde ich (meine persönliche Meinung), dass das nur eine Notlösung ist.

    Eventuell kann man dein Problem auch über ein anderes Datenformat lösen (z.B. XML oder CSV). Ich würde mir ernsthaft Gedanken darüber machen.

    Ausserdem hat VB.NET/C#, also generell .NET, mit VBA eigentlich fast nichts gemeinsam, ausser dass beides Visual Basic heisst und von Microsoft ist

    Zur 2. Frage: Auf was soll denn das Handle zeigen? Ein Handle ohne zugehörige Form macht nicht viel Sinn, weil wo nichts ist wo man drauf zeigen kann, kann auch kein Zeiger darauf existieren

    Comment


    • #3
      Zu Punkt 1: Wenn Du eine Applikation ohne Forms schreiben willst, musst Du im "Neues Projekt"-Dialog einfach nur Konsolenanwendung auswählen. Die Übergabe von Daten an das Programm erfolgt dann über die Kommandozeile (Sub Main(args() As String), bzw. müsste von Dir implementiert werden, wenn weitere Interaktion notwendig ist. Für Excel kannst Du, wie fanderlf vorschlägt die Interop.Excel-Bibliothek nutzen. Ich habe damit noch keine negativen Erfahrungen gemacht (außer dass das Programm hängenbleibt, wenn man in Excel gerade eine Zelle bearbeitet, wenn man sich verbindet, Excel verarbeitet dann nämlich keine weiteren Befehle, bis man die Zelle wieder verlässt), wenn es aber nur darum geht, das Excel-Blatt selbst zu manipulieren, und nicht Daten aus einem Excel-Blatt in der Applikation verfügbar zu haben (oder andersherum), solltest Du eher die Anwendung in dem Excel-Blatt oder einem Plugin in VBA hinterlegen.

      Punkt 2: Du kannst einen Handle auch auf den Prozess eines Programmes auswerten. die Forms.Application selber hat glaube ich kein Handle (müsste ich nochmal nachsehen), ansonsten verweist das Me in Deinem Beispiel bestimmt auf eine Form (vermutlich auf die HauptForm der Applikation. Die Frage ist aber weniger, woher Du das Handle bekommst, sondern wofür Du es brauchst.

      Gruß
      Martin Dietz

      Comment

      Working...
      X