Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

AddIn öffnen / schließen

Forumthread: AddIn öffnen / schließen

AddIn öffnen / schließen
21.10.2005 06:00:28
Ingo
Guten Morgen,
ich versuche mich gerade an AddIn's
Hintergrund ist, dass ich Daten halbwegs "unsichtbar" lassen möchte.
Zu Testzwecken habe ich 'mal folgendes mit einer als AddIn gespeicherten Mappe probiert...
Workbooks.Open Filename:="D:\Uebergabe\IuK\PVorlage.xla"
MsgBox Workbooks("PVorlage.xla").Sheets("Grunddaten").Range("A1")
Workbooks("PVorlage.xla").Close
..Und das funktioniert sogar ;-)
Bevor ich mich jedoch in eine falsche Richtung verbeisse wollte ich Nachfragen,
ob eine Tabelle als AddIn tatsächlich so angesprochen wird oder wie ggf.
die "richtige" Syntax für das obige Beispiel wäre.
Ich möchte nur meine eigene Unsicherheit ausgeräumt haben, denn ein Versuch und schon klappt das, dass kann gar nicht richtig sein ;-)
Danke und Gruß
Ingo
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: AddIn öffnen / schließen
21.10.2005 07:53:52
Erich
Hallo Ingo,
doch, das ist richtig, das funktioniert!
Es geht sogar noch mehr: Man kann (per VBA) Tabellenwerte des AddIns ändern und das AddIn speichern. Darin bin ich jetzt etwas unsicher (deshalb lasse ich diesen Thread offen), denn:
In "Excel-VBA programmieren" (für Excel 2000 bis 2003) schreibt Michael Kofler auf S. 710:
"Obwohl Sie während des Ablaufs des Add-Ins die (unsichtbaren) Tabellen des Add-Ins verändern können, ist es nicht möglich, diese Änderungen zu speichern."
Aber der folgende Code funzt:

Sub AddIn_Test()
Dim wbXyz As Workbook, xx As Long
Const strWbName = "D:\Uebergabe\IuK\PVorlage.xla"
Const strShName = "Grunddaten"
Set wbXyz = Workbooks.Open(Filename:=strWbName)
xx = wbXyz.Sheets(strShName).Range("A1")
MsgBox "vor Änderung " & xx
wbXyz.Close
Set wbXyz = Workbooks.Open(Filename:=strWbName)
xx = wbXyz.Sheets(strShName).Range("A1")
wbXyz.Sheets(strShName).Range("A1") = xx + 1
wbXyz.Close SaveChanges:=True       ' Änderungen sichern
Set wbXyz = Workbooks.Open(Filename:=strWbName)
xx = wbXyz.Sheets(strShName).Range("A1")
MsgBox "nach Änderung " & xx
MsgBox ActiveWorkbook.Name          ' AddIn ist NICHT ActiveWorkbook
wbXyz.Close
Set wbXyz = Nothing
End Sub

Noch ein Tipp:
Du kannst die Tabellenblätter eines AddIns wieder sichtbar machen, indem du im VBA-Editor die Eigenschaft "IsAddin" auf False stellst.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: AddIn öffnen / schließen
21.10.2005 09:03:47
Ingo
Moin Erich,
Danke für den Hinweis.
Um bei meinem einfachen Beispiel zu bleiben..
Workbooks.Open Filename:="D:\Uebergabe\IuK\PVorlage.xla"
Workbooks("PVorlage.xla").Sheets("Grunddaten").Range("A1") = "Test"
Workbooks("PVorlage.xla").Save
Workbooks("PVorlage.xla").Close
Hatte ich schon getestet.
Das gleiche in grün ;-) Keine Ahnung, warum in dem Buch die Aussage steht, man könne
die Änderungen nicht speichern.
Aber offensichtlich bin ich auf dem richtigen Weg und werde die Daten dann
dergestallt "verstecken" (Soll ja kein 100%iger Schutz sein, langt aber für das
Fernhalten der Spielkinder)
Schönes We und Gruß
Ingo
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige