Frage wegen Umstieg von VBA auf Visual Studio

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Frage wegen Umstieg von VBA auf Visual Studio

    Hallo zusammen,
    ich bin beruflich im Vertrieb tätig und habe mir für die Angebotserstellung in Excel mit VBA ein Programm erstellt mit dem ich hauptsächlich arbeite. Dabei wird im Tabellenblatt je nachdem welche Maschine ich kalkulieren soll mit hilfe von derzeit 10 Buttons jeweils dazugehörige Userforms aufgerufen. In diesen Userforms kann ich dann mit ca. 40 Checkboxen und Radiobuttons noch die Optionen auswählen die der Kunde noch dazu haben möchte. Danach kann ich mit Hilfe von 3 Buttons die Eingaben verarbeiten, Button 1 überträgt dann die ausgewählten Optionen als Text und Einzelpreis auf mein Tabellenblatt. Button 2 errechnet dann die Gesamtsumme komplett mit Nebenkosten (Überführung usw) und Button 3 löscht mein Tabellenblatt wieder falls ich bei der Eingabe in das Userform einen Fehler bemerkt habe. Danach kann ich das Tabellenblatt ausdrucken bzw. als PDF abspeichern und dem Kunden per Mail zusenden. So weit, so gut. Ich arbeite damit seit einem Jahr und das ganze Projekt ist immer mehr gewachsen. Jetzt haben meine Kollegen, die Ihre Angebote teilweise noch handschriftlich machen (auch das gibts 2020 noch!!!) auch gesehen das diese Art von Angebotserstellung deutlich schneller geht als die handschriftliche. Jedoch kennen die sich mit Excel überhaupt nicht aus und haben auch Berührungsängste damit.
    Da ich auch der Meinung bin dass ich speziell was die optische Aufbereitung meines Programms in VBA so langsam an meine Grenzen komme, dachte ich, ich versuche das Ganze einfach über Visual Studio. Dann könnte ich den Kollegen das ganze auch als Exe-Dabei geben und wäre was die Bedienung angeht vom Excel weg.
    Jetzt kommen wir zum Knackpunkt des ganzen, das gleiche über Visual Studio in Visual Basic zu programmieren habe ich was den Bildschirmaufbau und die Kalkulation angeht geschafft. Mein Problem ist aber die Ausgabe, ich kann zwar die Summen auf dem Bildschirm anzeigen lassen aber wie drucke bzw. speicher ich die ausgewählten Optionen ab bzw. aus ?
    Im Prinzip fehlt mir jetzt mein Excel Arbeitsblatt :)
    Ich bräuchte jetzt eine Möglichkeit, dass die ausgesuchten Optionen in eine Excel Datei abgespeichert werden können, dazu in eine PDF und dass ich das Angebot dann ausdrucken kann.

    Wie mache ich sowas in Visual Studio???
    Ok, schon einmal vielen Dank für die Antwort. Ich müsste ja auch nicht unbedingt direkt drucken können, es würde mir reichen wenn ich es abspeichern könnte und diese Datei dann z.b. mit Excel oder einem PDF Reader öffnen und drucken könnte. Nur wie speicher ich meine Liste? Die komplette Ausgabe die ich ja vorher in meinem Excel Arbeitsblatt übertragen habe fehlt mir ja. Oder denke ich da zu kompliziert? Vielleicht habe ich mich da auch in etwas verrannt, das ganze Projekt ist jetzt in 2,5 Jahren entstanden und ich arbeite in der jetzigen Form seit einem Jahr für mich eigentlich damit zufrieden. Nur wenn andere damit arbeiten müssen, dann sind die überfordert.
    Immer wieder wird der Vorschlag gemacht, dass mit EPPlus zu lösen. Ich selber benutze Excel mehr oder weniger direkt. Also in den Projekteigenschaften bei Verweisen die COM-Assembly "Microsoft Excel x" einbinden (x ist ne Zahl, also 12.0 oder 16.0 oder so, abhängig davon, was bei Dir installiert ist). Und dann ein Excelobjekt erstellen und direkt damit rumhantieren. Wenn es aber nur um Text an sich ginge (unwahrscheinlich aber möglich), stellt sich die Frage, ob Du nicht ne einfache Textdatei dafür befüllen willst.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hallo @Helter
    Ich habe vor einiger Zeit das gleiche gemacht, bzw. bin aktuell noch dabei - ein umfangreiches VBA Projekt in vb.net umzusetzen.
    Hierbei brauchte ich einen Import einer Excel Datei und habe deswegen EPPlus verwendet.
    Die Dokumentation hierzu ist sehr schön und hat mir als Anfänger nur wenig Probleme bereitet.
    Generell funktionier @VaporiZed Vorschlag wahrscheinlicher einfacher, jedoch nur, wenn auf dem ausführenden PC auch Excel installiert ist.
    Das kannst du ja wahrscheinlich nicht sicherstellen.

    Edit: zum Thema pdf meine Meinung als Anfänger:
    Wenn du es nicht wirklich brauchst, überlege dir gut, ob du die Funktion einbaust.
    Ich brauche zwangsläufig eine Funktion eine pdf Auszugeben (für Bestellungen), habe das Thema aber ganz nach hinten geschoben und bimn derzeit auf der Suche nach einer "realLife Person" hierfür, da ich nach ca. 3 Wochen versuchen das Handtuch geschmissen habe.
    Excel ist super-tückisch, was die Bereinigung von Resourcen angeht. Da bleibt im Zweifel ein unsichtbares Excel im Speicher geöffnet, und du kannst die Excel-Dateien nicht mehr umbenennen oder öffnen. Oder der User kann sein Excel nicht mehr starten.
    Oder du musst listige Logik schreiben, um zu unterscheiden, ob der User Excel schon auf hatte oder nicht, und wenn ja, darf deine Fernsteuerung ihm sein Excel ja nicht abschiessen.
    Und so Scherze.

    Also wenn das in EPPlus vernünftig gelöst ist (und das hoffe ich mal), dann nimm lieber das.

    Ach - und dann muss man noch besondere Vorkehrungen treffen, falls der User eine andere Office-Version installiert hat als du Entwickler.
    Ich bin auch ein EPPlus Verfechter, allerdings bin ich bei der letzten Version (siehe den Link von @VaporiZed) stehen geblieben.
    Die neue 5er Version kann bzw. will ich nicht nutzen.
    github.com/EPPlusSoftware/EPPlus
    EPPlus has from this new major version changed license from LGPL to Polyform Noncommercial 1.0.0. With the new license EPPlus is still free to use in some cases, but will require a commercial license to be used in a commercial business.