Announcement

Collapse
No announcement yet.

Exceldatei mit Makros öffnen; 3. Versuch

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

  • Exceldatei mit Makros öffnen; 3. Versuch

    Hallo zusammen,

    für folgendes Problem habe ich leider noch keine Lösung:

    Eine Exceldatei "A.xls" enthält die Makros, auf die die Datei
    "B.xls" zugreifen können soll.

    Wenn ich ganz normal (d.h. z.B. durch Doppelklick auf den Dateinamen) zuerst A.xls und anschließend B.xls öffne, dann funktioniert das so wie es soll.

    Öffne ich jedoch A.xls und danach aus VB 2005 heraus B.xls, dann sind in B.xls zwar die eigenen, aber nicht die Makros von A.xls vorhanden!!!

    Der Aufruf von B.xls aus VB 2005 sieht so aus:

    [highlight=vb.net]
    DIM exAPP As Excel.Application
    DIM exWB As Excel.Workbook

    '-----> Excel öffnen
    exAPP = New Excel.Application
    exAPP.Visible = True

    'öffnet die Datei
    exWB = exAPP.Workbooks.Open(Dateinamen)[/highlight]

    Wie muss denn der Aufruf aussehen, damit die Makros von A auch in B erscheinen??

  • #2
    Kann keiner helfen?


    Es handelt sich bei mir um EXCEL 2000

    vG

    fredyx

    Comment


    • #3
      Hallo fredyx,

      wenn ich das richtig verstanden habe, öffnest Du a.xls manuell und anschließend a.xls über VB und b.xls, also gleichzeitig.

      Excel ist nicht multiuserfähig.
      Ist denn der alleinige Zugriff über VB möglich?

      Gruß
      Peter

      Comment


      • #4
        Hallo Peter,

        Originally posted by PeterSC View Post
        wenn ich das richtig verstanden habe, öffnest Du a.xls manuell und anschließend a.xls über VB und b.xls, also gleichzeitig.
        nein, ich öffne a.xls nur einmal vorher manuell und danach b.xls über VB 2005

        Originally posted by PeterSC View Post
        Ist denn der alleinige Zugriff über VB möglich?

        Ja, dass funktioniert inzwischen recht gut. Über VB kann ich in Excel einiges bewirken und auch (wenn sie denn geladen sind oder zu b.xls gehören) Makros starten.

        Fällt Dir jetzt dazu noch was ein??

        Ich habe die Hoffnung, dass es verschiedene Codes oder Parameter zum Öffnen einer Exceldatei gibt, die ich aber nicht kenne.

        vG

        fredyx

        Comment


        • #5
          Hallo zusammen,

          für die, die es noch interessiert, meine Lösung sieht jetzt so aus, dass ich sowohl "A.xls" als auch "B.xls" aus VB 2005 heraus öffne.
          So tauchen dann auch endlich die Makros von A in B auf

          Der Code dazu ist dann:

          [highlight=vb.net] Dim exAPP As Excel.Application
          Dim exWB As Excel.Workbook

          '-----> Excel öffnen
          exAPP = New Excel.Application
          exAPP.Visible = True

          'öffnet die 1. Datei
          exWB = exAPP.Workbooks.Open("Dateipfad + -name 1")


          'öffnet die 2. Datei
          exWB = exAPP.Workbooks.Open("Dateipfad + -name 2")


          'hier evtl. weiterer AnwenderCode


          exWB.Close() 'schließt 2. Datei

          exAPP.Quit() ' schließt Excel mit 1. Datei!!
          exAPP = Nothing
          GC.Collect() 'Schließt Excel-Prozess endgültig[/highlight]

          vG

          fredyx

          Comment


          • #6
            Hallo zusammen,

            hier noch eine ergänzende Erkenntnis:

            mein Anfangsproblem hing damit zusammen, dass dabei Excel 2 mal gestartet wurde und die eine Datei nicht die Makros in der anderen erkennen konnte.

            Das ist auch so, wenn man Excel manuell 2 mal startet und dann darin jeweils eine Datei öffnet.

            Im Unterschied dazu klappt das alles, wenn man Excel 1 mal startet und dann darin 2 Dateien öffnet.

            vG

            fredyx

            Comment

            Working...
            X