Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
764to768
764to768
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ein per Automation geöffnetes Sheet verstecken

Ein per Automation geöffnetes Sheet verstecken
23.05.2006 10:23:20
Stefanie
Hallo Experten,
ich habe folgendes Problem,
Ich starte Excel per Automation (als neues Object) von einer Fremdanwendung mit der Eigenschaft visible = false. Dabei öffne ich ein Arbeitsblatt auf Basis einer Vorlage, nennen wir sie ABC.Xlt, welche die notwendigen Macros für die Ansteuerung einer DLL enthält. Das neuentstandene Arbeitsblatt ABC1.xls und das Excel-Objekt schließe ich erst, wenn meine Anwendung die DLL-Funktionen nicht mehr benötigt. Während dieser Zeit ist Excel (und das Arbeitsblatt) unsichtbar.
Wenn ich jedoch in dieser Zeit ein neues Excel-Dokument öffne, sind beide Dokumente sichtbar. Dh. der Nutzer kann z.B. die in ABC1.Xls in Zellen
hinterlegten DLL-Rückgabewerte lesen und - ganz schlimm! - verändern.
Wie kann ich sicherstellen, dass dieses Arbeitsblatt unsichtbar bleibt, wenn ein neues geöffnet wird?
(ich verwende Windows-XP-Professional)
Ich hoffe, Ihr könnt mir helfen, da ich momentan keine Lösung sehe...
Gruss
Stefanie

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ein per Automation geöffnetes Sheet verstecken
23.05.2006 10:52:34
Andreas
Hi,
versteck doch das Blatt einfach:
ThisWorkbook.Worksheets("Name des Blatts").Visible = xlVeryHidden
Kann dann nur über die Eigenschaften oder Code:
ThisWorkbook.Worksheets("Name des Blatts").Visible = True
wieder sichtbar gemacht werden
Gruß,
Andi
AW: Ein per Automation geöffnetes Sheet verstecken
23.05.2006 11:27:34
Stefanie
Hallo Andreas,
danke fuer den Tipp.
Allerdings bekomme ich den Laufzeitfehler Die Visible-Eigenschaft des Worksheetobjects kann nicht geaendert werden.
Das gleiche passiert, wenn ich direkt im VB-Editor in Excel die Arbeitsblatteigenschaft (Eigenschaften Tabelle 1) auf
xLSheetHidden oder XLsheetVeryHidden setzen möchte. In der Hilfe sind aber Beispiele, bei denen das gehen soll, aufgeführt.
liegt das daran, dass es eine Vorlage (XLT) ist? oder das dieses Workbook nur aus einem einzelnen Arbeitsblatt besteht?
Vielleicht hast Du da eine Idee?
Stefanie
Anzeige
AW: Ein per Automation geöffnetes Sheet verstecken
23.05.2006 11:49:34
Andreas
Hm, da weis auch nicht weiter, könnte sein dass es daran liegt, dass es ne Vorlage ist...
Vieleicht kann dir jemand anderes helfen oder du stellst den betreffenden Code mal ein...
AW: Ein per Automation geöffnetes Sheet verstecken
23.05.2006 13:09:38
EtoPHG
Hallo Stefanie,
Ja das liegt daran, dass MINDESTENS 1 Blatt in einer Arbeitsmappe sichtbar bleiben MUSS. Alle Blätter unsichtbar machen geht nur für ADD-IN Workbooks.
Sonst musst Du Dir mit einem Konstrukt behelfen 2 Blätter in der Mappe, wovon das kritische auf xlSheetVeryHidden und 1 Blatt, z.B. mit einem Kommentar "Kann nicht verändert werden" in Zelle A1, alle anderen spalten/Zeilen ausgeblendet und Blatt geschützt. Dieses Blatt lässt Du sichtbar.
Gruss Hansueli
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige