tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von DrSoong
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
874
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von VScan
    VScan VScan ist offline Mitglied Gold
    Registriert seit
    Dec 2008
    Ort
    Munich
    Beiträge
    131
    Hallo,

    seit einiger Zeit versuche ich einen vernüftigen Weg zu finden, um ein Excel 2007 VB6.0 Projekt in ein VisualStudio VB.Net-Projekt zu migrieren, leider war ich auf meiner Suche erfolglos... vielleicht hat noch Jemand einen guten Tip für mich, um diese Aufgabe zu bewerkstelligen, bevor ich zu der manuellen Copy-Paste-Code-Migration übergehe?


    Problem:

    Bei einer Migration mit dem Project-Wizard, wird der VBA-Code nicht mehr angezeigt.

    - Habe ich bei der Migration was falsch gemacht, oder ist das so?


    Wenn ich einzelne Tabellen aus dem Excel VB6.0 - Projekt exportiere, wird mir nach dem Import in das VSTO-Projekt, nur der VB-Code angezeigt, die Tabelle ist weg, zusätzlich ist es eine .cls-Datei, was mich auch verwirrt.

    - Ist das in der Regel so oder mache ich hier auch was falsch?


    Viele Grüße

    VScan


    Umgebungen:

    Zielumgebung: Excel 2007 Professional (diese Version ist zwingend)
    Entwicklungsumgebung: Visual Studio 2010 Professional (inkl. VSTO 2007)
    Ausgangssituation: Zu migrierendes Objekt ist ein Excel 2007 VB6.0 Projekt (Active-x und Forms gemischt)
    Zielcode: VB.Net
    Geändert von VScan (06.12.11 um 16:52 Uhr) Grund: Umgebungsangaben
     

  2. #2
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Gehört das nicht eher ins .Net-Forum?
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

  3. #3
    Avatar von DrSoong
    DrSoong DrSoong ist offline Iss was, Doc!
    tutorials.de Premium-User
    Registriert seit
    Jul 2003
    Ort
    Dem Zentrum meiner Welt
    Beiträge
    1.836
    Blog-Einträge
    85
    @Yaslaw: Ja, soll ja VB2010 sein.

    @ VScan: Du verwechselst hier Äpfel mit Birnen. VBA ist eine für die jeweilige Office-Anwendung optimierte Sprache, die sich zwar an VB anlehnt, je nach Applikation aber auch viele spezifische Befehle beinhaltet. Eine Konvertierung nach .NET ist hier nicht möglich, was soll VB2010 denn z.B. mit Worksheets() anfangen?

    Was du machen kannst, ist in VB2010 ein Excel-Objekt zu erstellen, damit hast du dann Zugriff auch die entsprechende Exceltabelle und kannst über das Objekt auch die spezifischen Befehle verwenden. In diesem Openbook findest du generelle Funktionsweisen, wie man über ein Objekt mit Excel spricht.


    Der Doc!
    VScan bedankt sich. 
    A: Hilfe, ich hab zwei Dateien hinzugefügt und nun sind die anderen weg
    B: Die Scrollbar da rechts ist dir schon mal aufgefallen?

  4. #4
    Avatar von VScan
    VScan VScan ist offline Mitglied Gold
    Registriert seit
    Dec 2008
    Ort
    Munich
    Beiträge
    131
    Hey,

    hallo DrSoong, danke für Deine produktive Antwort!

    Jetzt versteh ich auch, warum ich den Code nicht mehr sehe, ich werde mir das Openbook rein ziehen.

    Viele Grüße

    Edit:
    Der Zugriff innerhalb eines VSTO-Projekts auf Funktionen/Routinen eines VB6.0-Excel-Projekts, war eigentlich dann die Alternative, wenn Microsoft die Migration nicht auf die Reihe bekommt, werde ich mir bestimmt keine zusätzliche Arbeit aufbürden...

    Im folgenden kann man eine Routine Namens "AddNumbers" aufrufen und 2 Parameter mit übergeben, dafür verwendet man immer die Methode "Run".

    Dim answer as integer = Me.Application.Run(“AddNumbers”, 10, 2)


    Vielleicht fällt ja nochmal Jemand darüber , Viele Grüße
    Geändert von VScan (07.12.11 um 10:56 Uhr)
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 17.07.09, 10:08
  2. Office Project Server 2007
    Von Nohh im Forum Office-Anwendungen
    Antworten: 1
    Letzter Beitrag: 16.09.08, 09:41
  3. Installation von Project 2007... Frühere Versionen
    Von Hawkings im Forum Office-Anwendungen
    Antworten: 3
    Letzter Beitrag: 15.08.07, 12:56
  4. Visual Studio: C++ in VBA Project einbinden?
    Von kanti im Forum .NET Web und Kommunikation
    Antworten: 1
    Letzter Beitrag: 13.06.07, 13:55
  5. Antworten: 0
    Letzter Beitrag: 08.06.07, 08:04