Frage : Wie man eine Excel-Anwendung von VB.Net laufen lässt

Hello

I haben eine kleine EXCEL-Anwendung, die ich von einem VB.Net Programm using SHELL.

When Excel Lasten laufen lasse, es *automatically* Durchläufe ein Makro, dem OUTPUT zu einem file.

The Makro dann Excel erklärt, itself.

It zu beendigen scheint zu arbeiten - weil es zum Problem der Akte correctly.

The ist OUTPUT, dass ich halte, einem Vista-Mitteilung-Kasten, der mich zu erhalten erklärt, dass dass „Microsoft Excel das Arbeiten“ und es dann gestoppt hat, beginnt, nach der Ursache des Probleme „zu suchen“ - mir schließlich, erklärend, dass das Excel-Programm close.

But das EXCEL-Programm muss ** tat ** work.

So, wie ich kann, stoppen diesen Vista-Mitteilung-Kasten von Erscheinen?

Thank you.

Antwort : Wie man eine Excel-Anwendung von VB.Net laufen lässt


Ich schrieb den folgenden Code für ein anderes Problem, ich herausgenommen das nicht notwendige Material, ich glaube, dass dieses eine viel bessere Weise ist, dem Öffnen des besagten Arbeitsbuches, dann dem Schließen es zu nähern, dann beendigend übertreffen

die private Funktion an der Unterseite, auch diese beachten annimmt, dass Sie einen Hinweis addieren, um im Projekt zu übertreffen und Importe Excel = microsoft.blah.blah.blha auch zu benutzen

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
excelApp als Excel.Application verdunkeln
        WB als Excel.Workbook verdunkeln
        workbookName als Schnur verdunkeln = „Test-Arbeitsbuch-Name“

        'geöffnetes Excel zu herabgesetztem Zustand
        excelApp = neue Excel.Application ()
        excelApp.Visible = CBool (Microsoft.Office.Core.MsoTriState.msoTrue)
        excelApp.WindowState = Excel.XlWindowState.xlMinimized

        'geöffnetes Arbeitsbuch
        WB = excelApp.Workbooks.Open (workbookName, Microsoft.Office.Core.MsoTriState.msoFalse, _
                                     Microsoft.Office.Core.MsoTriState.msoFalse, _
                                     Microsoft.Office.Core.MsoTriState.msoTrue)
	
	WB.close
	excelApp.quit

        'Notwendigkeit, diese COM-Gegenstände oder -sie freizugeben kann in den laufenden Dienstleistungen geöffnet bleiben
        ReleaseObject (excelApp)
        ReleaseObject (WB)
        ReleaseObject (WS)
        ReleaseObject (Ziel)

        excelApp = nichts
        WB = nichts
        WS = nichts
        Ziel = nichts
        'Löschen targetArray

        'Abfalkollektor laufen lassen
        GC.Collect ()

    Privates VorReleaseObject (ByVal O als Gegenstand)
        Versuch
            System.Runtime.InteropServices.Marshal.ReleaseComObject (O)
        Fang ex als Ausnahme
        Schließlich
            O = nichts
        Enden-Versuch

    Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us