Announcement

Collapse
No announcement yet.

VB.Net App startet Excel -> Excel nicht im Vordergrund

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

  • VB.Net App startet Excel -> Excel nicht im Vordergrund

    Hallo,
    ich habe ein Programm in VB.Net geschrieben, welches über mehrere Buttons verschiedene Excel Arbeitsblätter öffnet. Das Problem ist nun folgendes:

    Ich starte das Programm, klicke einen Button, es öffnet sich Excel und das entsprechende Dokument. Jedoch leider im HINTERGRUND, hinter dem Vb.Net Application Fenster.

    Klicke ich nun in Excel und beende es, lasse die Vb App aber weiterlaufen, öffnet sich von nun an bei jedem klick auf einen Button das entsprechende Excel Dokument im Vordergrund ÜBER der Application. So soll es sein.

    Leider funktioniert das aber immer erst, nachdem man einmal ein Dokument geöffnet und wieder geschlossen hat.

    Meine Vermutung ist, dass es sich hier um eine Sicherheitsfunktion von vb.net handelt, die verhindern soll, dass Programme sich in den Vordergrund über andere legen und so den Rechner blockieren, wenn keine Usereingabe erfolgt ist. Über die API Schnittstelle habe ich es bereits in 1000 Varianten versucht, die vb.net app bleibt IMMER beim ERSTEN mal im Vordergrund.

    Hier ist der Code zum öffnen des Excels:

    Code:
    Public Class Navigator
        Dim wb As Microsoft.Office.Interop.Excel.Workbook
        Dim ws As Microsoft.Office.Interop.Excel.Worksheet
        Dim Excel1 As New Microsoft.Office.Interop.Excel.Application
    Code:
    Private Sub HeadcountRepCharts_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HeadcountRepCharts.Click
            Fname = "\\dwdf207\REP-CONS-DE\Monatsreporting\" + reportingperiod + "\02_FTE_Reports\Headcount_Reporting" + reportingperiod + ".xls"
            wb = Excel1.Workbooks.Open(Fname)
            Excel1.Visible = True
            Excel1.Sheets(1).activate()
        End Sub

    Vielleicht kann mir da irgendwer helfen. Der Code oben ist nur ein Beispielhafter Auszug
    Zuletzt editiert von RsRichard; 01.08.2008, 16:10.

  • #2
    Vielleicht funktioniert ja die Methode:

    Code:
    Excel1.ActivateMicrosoftApp()

    Comment


    • #3
      das hilft leider auch nicht, der code läuft erst garnicht.

      Comment


      • #4
        zwar nicht die schönste lösung aber es funktioniert:

        Excell.Visible = false;
        Excell.Visible = true;

        Comment


        • #5
          Naja du willst das Dokuent ja eigentlich nur öffnen,
          da tuts auch ein einfaches

          system.diagnostics.process.start("c:\test.xls")


          ohne Excel Application usw...
          oder du sagst der Excel Application einfach:

          excel1.BringToFront

          Comment


          • #6
            wen er es mit system.diagnostics.process.start("c:\test.xls") öffnet, stehen ihm aber nicht die möglichkeiten des excel-objects zur verfügung und auf die will er schätzungsweise nicht verzichten ...

            Comment


            • #7
              update: ok ist egal, ist ja schon 15 tage her
              Zuletzt editiert von jesus.online; 24.09.2008, 16:02.

              Comment

              Working...
              X