Announcement

Collapse
No announcement yet.

Automatische Antwort beim Scjließen einer Datei

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

  • Automatische Antwort beim Scjließen einer Datei

    Hallo zusammen,

    ich habe von VB 2005 Express Edition eine Exceldatei geöffnet mit:

    exAPP = New Excel.Application
    exAPP.Visible = True

    exWB = exAPP.Workbooks.Open("e:\FFR.xls")


    und schließe sie später im Programm mit:

    exAPP.Quit()
    exAPP = Nothing

    GC.Collect() 'Schließt Excel-Prozess endgültig

    Nach dem Schließen kommt von Excel z.B. ein Fenster mit der Frage "Sollen die Änderungen gespeichert werden" und es erscheinen die Button JA NEIN und ABBRECHEN.

    Kann ich die Button in so einem oder einem ähnlichen Fenster direkt mit dem Schließen der Datei beantworten?
    Z.B. indem ich an den Schließcode einen Parameter anhänge?

    Danke im Voraus.

    fredyx

  • #2
    Du kannst mit ActiveWorkbook.Save() den Inhalt speichern, worauf der .Quit() nicht mehr fragen sollte oder Du machst einen ActiveWorkbook.Close(true) der das Workbook speichert und schließt.

    Gruß Womble

    Comment


    • #3
      Hallo Womble,

      danke das klappt prima!!

      Hast du evtl. auch noch einen Vorschlag für das umgekehrte Problem, wenn beim Öffnen der Exceldatei z.B. ein Fenster mit dem Hinweis auf enthaltene Makros mit Ja zu beantworten ist oder ein zweites Fenster mit der Frage nach zu aktivierenden Makros erscheint?

      Gruß

      fredyx
      Zuletzt editiert von fredyx; 19.09.2008, 13:52.

      Comment


      • #4
        Hi Fredyx,

        bisher habe ich nichts gefunden. Ich vermute mal das das über das Excelobjekt eingestellt werden muss und nicht über das Workbook. Ob das über Steuereung von außen gemacht werden kann weiß ich nicht. In den Exceloptionen muß die Warnung vor Makros deaktiviert werden.

        Gruß Womble

        Comment


        • #5
          Hallo Womble,
          danke für Deine Bemühungen.
          Ich habe das Problem jetzt so gelöst, dass ich unter EXTRAS > MAKROS > SICHERHEIT "niedrig" eingestellt habe. Das ist natürlich keine elegante Lösung!!

          Gruß

          fredyx

          Comment


          • #6
            Das solltest du wirklich nicht machen,

            du kannst mit SELFCERT.exe im Excel Installationsordner ein Zertifikat erstellen,
            und der Mappe hinzufügen. Dann die Makro einstellungen so setzen, das nur
            Makros mit Zertifikat ausgeführt werden. Dann wird der Benutzer nur einmal
            gefragt ob er bei genau dieser Mappe makros aktivieren will.

            Andere Möglichkeit ist ein "Vertrauenswürdiger speicherort" wenn du dort das
            Verzeichnis deiner Excel Datei angibst, kannst du die sicherheitsstufe auf hoch
            setzen, und Makros werden trotzdem ausgeführt!

            Comment


            • #7
              Das solltest du wirklich nicht machen,
              Ja, da hast Du sicher recht!!
              Aber mit dem Folgenden komme ich nicht klar.

              du kannst mit SELFCERT.exe im Excel Installationsordner ein Zertifikat erstellen, und der Mappe hinzufügen.
              Was ist der Installationsordner?
              Wie komme ich an SELFCERT.exe ? Auf meinem Rechner finde ich so ein Programm nicht.
              Was muss ich in der Mappe hinzufügen?

              Dann die Makroeinstellungen so setzen, das nur
              Makros mit Zertifikat ausgeführt werden. Dann wird der Benutzer nur einmal gefragt ob er bei genau dieser Mappe makros aktivieren will.
              OK

              Andere Möglichkeit ist ein "Vertrauenswürdiger speicherort" wenn du dort das Verzeichnis deiner Excel Datei angibst, kannst du die sicherheitsstufe auf hoch
              setzen, und Makros werden trotzdem ausgeführt!
              In das schöne weiße Textfeld kann ich dort keinen Text eingeben. Ich kann nur ankreuzen:
              "Allen installierten Add-Inns und Vorlagen vertrauen"

              Das gilt dann aber wohl grundsätzlich und damit wäre ich ja auch nicht weiter!

              vG

              fredyx

              Comment


              • #8
                Hi nochmal,

                Selfcert.exe findest du im Installationordner von Office, nimm doch die
                Suchfunktion von Windows. Ansonsten findest du sie unter:

                X:\Programme\Microsoft Office\OfficeX\SELFCERT.exe


                ich kann sie dir nicht hochladen ich weis nicht wie das rechtlich ausschaut,
                und ob das dann überhaupt funktionieren würde.

                Auf jeden fall startest du die Datei, gibst einen Zertifikatsnamen ein und du hast ein Zertifikat.

                Um dir zu sagen wie du das deiner Mappe hinzufügst muss ich wissen
                welches Office hast du denn überhaupt?

                Gruß

                Comment


                • #9
                  Hallo,

                  wie ich schon schrieb, auf meinem ganzem PG gibt es kein SELFCERT.exe oder was ähnliches mit self oder cert.
                  Ich habe noch Office 2000!

                  vG

                  fredyx

                  Comment


                  • #10
                    Ok.. Eigentlich müsste das vorhanden sein!

                    http://support.microsoft.com/kb/217221/de

                    Das Programm SelfCert.exe ist nicht Bestandteil der Standardinstallation von Microsoft Office XP. Führen Sie zur Installation des Programms die folgenden Schritte durch:


                    1. Führen Sie die Setup-CD von Office XP oder ein anderes Installationsmedium erneut aus.

                    2. Klicken Sie im Dialogfeld Microsoft Office XP-Setup auf die Option Features hinzufügen/entfernen. Klicken Sie auf Weiter.

                    3. Erweitern Sie den Knoten Gemeinsam genutzte Office-Features, indem Sie auf das Pluszeichen (+) daneben klicken.

                    4. Klicken Sie auf Digitale Signatur für VBA-Projekte.

                    5. Klicken Sie auf Vom Arbeitsplatz starten.

                    6. Klicken Sie auf Aktualisieren, um das Programm SelfCert.exe zu installieren.

                    7. Klicken Sie nach Abschluss der Installation auf OK.

                    Comment


                    • #11
                      Ganz so wie oben beschrieben war es nicht, aber ich habe es gefunden, die Installation angestoßen und bekam auch die Rückmeldung, dass die Installation OK ist. Selfcert.exe habe ich aber trotzdem auf meinem PC nicht gefunden.

                      Manchmal meint man, dass son PC doch eine Eigenleben hat.

                      Ich habe es aber auf der CD gefunden, gestartet und konnte einen Namen vergeben. Nur ist mir leider nicht klar, wie das Verfahren jetzt weieter geht??

                      Gruß

                      fedyx

                      Comment


                      • #12
                        ok das ist super!!!

                        genau da machen wir weiter ;-)

                        Visual Basic Editor (alt + f11) dann auf
                        Extras
                        Digitale Signatur? Wählen
                        Dort dann dein eigen erstelltes Zertifikat auswählen

                        Dann in den Makros einstellungen so etwas auswählen wie:
                        Alle makros deaktivieren, außer digital signierte.

                        Schließen (speichern) und neu aufmachen.

                        Dann müsste ne meldung kommen mit "Makros dieser Quelle immer vertrauen"
                        oder so, dies bestätigen und tada.

                        Comment


                        • #13
                          Hallo Jesus.online,

                          Im Prinzip hat alles geklappt und ist alles klar, wenn da nicht die Meldung käme:
                          "Diese Arbeitsmappe enthält einen Makrotyp (Makro von MS Excel , Version 4.0) , der nicht deaktiviert oder signiert werden kann. Aus diesem Grunde kann die Arbeitsmappe nicht auf hoher Sicherheitsstufe geöffnet werden." Das ist die Stufe, die die signierten Makros zuläßt.



                          Da die Makros nicht von mir sind, denke ich das war's dann.

                          Trotzdem ganz herzlichen Dank für Deinen Einsatz.

                          vG

                          fredyx

                          Comment


                          • #14
                            Hallo ich noch mal,

                            das von vorher stimmt nur teilweise, weil ich nämlich eine andere Datei, die nur eine ältere Kopie der ersten ist und nur einige andere Daten aber dieselben Makros enthalten sollte , ohne Meldung öffnen kann.
                            Vielleicht kann ich doch noch was ändern!

                            Seltsamerweise kommt die obige Meldung auch wenn ich alle Makros in dieser Datei gelöscht habe????

                            Bis dann mal.

                            fredyx
                            Zuletzt editiert von fredyx; 26.09.2008, 13:47.

                            Comment


                            • #15
                              Hier noch eine Ergänzung zu diesem Problem:

                              Selbst, wenn ich alle Makros aus derExcel-Datei lösche, kommt immer noch beim Öffnen der Datei die Meldung, dass dort Makros enthalten sind, die mit Excel 4.0 erstellt wurden und daher nicht signiert werden können.

                              Ich vermute, dass solche Makros in der Funktion Solver stecken, auf die diese Datei verweist.

                              vG

                              fredyx

                              Comment

                              Working...
                              X