Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1240to1244
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
Inhaltsverzeichnis

Verknüpfungen / Datenkorruption

Verknüpfungen / Datenkorruption
Andi
Hallo Guten Morgen,
ich suche eine Methode, Excelfiles "nur" per Verknüpfung öffnen zu können.
Mein "VBA Project" erstellt aus einem Template xlt eine xls Datei in einem Verzeichnis.
Zugriffe direkt auf die Dateien im Verzeichnis sollten gesperrt sein, aber über eine Verknüpfung möglich sein.
Zudem sollen die Exceldateien im Verzeichnis nicht kopiert werden können. Ich möchte vermeiden, dass anstelle über das Tool, bereits ausgefüllte Formulare (Das sind quasi die Excelfiles im besagten Verzeichnis) kopiert, geändert und unter anderen Namen im gleichen Verzeichnis abgelegt werden können.
Mir ist es bewusst, dass für eine solche Applikation eine Datenbank die bessere Lösung ist.
Wollte keiner, ich wurde ignoriert. Jetzt habe ich den "Salat", weil die Eigenkreativität der Anwender schier nahezu unbegrenzt ist. Datenqualität ShitIn = ShitOut 9-)
Ich bin für jede Idee dankbar.
Gruß Andi

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
nur mal so 'ne Idee...
02.12.2011 19:54:43
Christian
Hallo Andi,
wie wäre es, wenn du den Anwendern ein UserForm zur Verfügung stellst (z.B. als AddIn). Dieses müssen Sie vollständig ausfüllen. Mit Klick auf 'nen Button werden die Daten dann in eine Datei irgendwo auf dem Server geschrieben und die Eingabemaske wieder gelöscht. Wo die Datei liegt, wissen die Anwender gar nicht, das passiert ja alles per Code. Aber ohne Zugriffsrechte auf dieses Verzeichnis wird es wahrscheinlich nicht gehen.
Die "Datei" muss dabei nicht zwingend eine Excel-Datei sein. Könnte auch einfach ein Log-File sein. Da du weist, wie die Daten strukturiert sind, kannst du daraus per Code jederzeit wieder ein formatiertes Formular erzeugen.
Oder du erzeugst schon bei der Datenübergabe (Klick auf den Button) temporär ein formartiertes Formular als Excel-File und speicherst dieses als PDF-Datei. Das Excel-File wird danach wieder gelöscht.
Das Ganze passiert per Code - der Anwender bekommt davon gar nichts mit.
Bei "Kaum Excel/VBA-Kenntnisse" ist das sicherlich 'ne Herausforderungen, aber man wächst ja mit seinen Aufgaben.
wie gesagt, war nur mal so 'ne Idee.
Grüße
Christian
Anzeige
AW: nur mal so 'ne Idee...
05.12.2011 10:31:11
Andi
Hallo Christian,
Tool (Daten anlegen, Auswerten (Diagram etc) und Reporte)
1) Tool als AddIn (Tool Menue Ribbon xml) -- xla
Data In
2) DataIn Formular (Userform) -- Logfile (*.txt oder eigene Klasse *. Andi) oder kleine Datenbank über ADO/ADOX (mdb)
3) DataOut -- Excel Template xlt/xltm öffnen -- Template xls/xlsm mit LogFile oder DB Data befüllen -- PDF erzeugen -- befülltes Exceltemplate wieder löschen
Das Template des Tools ist quasi ein Plan. Das Template beinhaltet Makros, die den User beim Planen unterstützen. Simultan werden die Eingaben ausgewertet und in einem Diagram dargestellt.
Die Template Methoden auf eine Userform 1:1 zu übertragen, gestalltet sich somit schon schwierig, da es kein Steuerelement gibt, dass in voller Funktionalität eine ExcelTabelle ersetzt, oder doch? Ein Excel Diagramm als Steuerelement gibt es wohl auch nicht?
Im Grunde genommen, weis ich das jetzt auch nicht so genau.
Danke Christian, sau gute Idee.
Gruß Andi
Anzeige
AW: nur mal so 'ne Idee...
05.12.2011 17:59:54
Christian
Hi Andi,
bei dem Thema Userform dachte ich zunächst nur an ein paar notwendige Felder à la Textbox, Combobox, Listbox /Listview. In wie weit es notwendig ist, in dem Userform eine Tabelle zu emulieren, musst du wissen. Ich komme in der Regel mit ein paar der o.g. Elemente aus.
Eine Exceltabelle in der Userform geht wohl bedingt mit dem Spreadsheet (hat mich aber nie überzeugt)
Aber zum berechnen brauchst du ja keine Tabelle, das geht auch direkt in VBA.
Ein Diagramm kannst du auch in dem Userform darstellen. Das Diagramm wird dabei im Hintergrund in Excel erzeugt und ein Bild des Diagramms in ein Image-Element eingebunden (siehe hier im Archiv - Diagramm in Userform)
Gruß
Christian
Anzeige
AW: nur mal so 'ne Idee...
06.12.2011 12:46:02
Andi
Hi Christian,
nicht standardisierte Steuerelemente sind für mich ein NoGo, wenn viele User des zukünftigen Tools darauf zugreifen müssen. Steuerelement nicht installiert, nicht registriert, Makro beschädigt.
Aber der Gedanke, vorhandene Ergebnisse als Image, Bitmap etc. in eine Userform zu dröseln, da hätte ich auch selber drauf kommen können. Zum Beispiel die Eigenschaft Userform Hintergrund :-)))).
Ok, das ist eine Methode, die die Bedienerfreundlichkeit wahrscheinlich einschränkt, weil sobald mit Bilder getrickst wird, wird es rechenintensiv.
Zum AddIn
Kann man die Tabelle einer XLA in Excel einblenden? Eine XLA Datei hat die Eigenschaft, dass alle Tabellen ausgeblendet sind.
Warum diese Frage?
Das von mir geschriebene Excel Tool sieht teilweise aus wie eine Datenbank Anwendung.
Klickt man auf die Exceldatei, wird eine Start Userform zentral auf dem Bildschirm angezeigt.
Tool verwenden bestätigen, wird eine neue Userform eingeblendet, vorherige ausgeblendet. Umgekehrt über Button Click Exist, gehe ich wieder raus bzw. beende die Anwendung.
Excelumgebung, Tabellenblätter sind komplett ausgeblendet. Das Userformscliesskreuz und der Userformrahmen, sind ebenfalls ausgeblendet. Reports und grafische Auswertungen werden auf einer Exceloberfläche erzeugt und angezeigt. D.h. button click Mach Auswertung blendet die entsprechende noch veryhidden Exceltabelle ein.
XLA Realisierung
Wenn ich das Tool als xla verwenden möchte, müßte ich zusätzlich eine Menue Leiste programmieren.
Also nicht die alten Symbolleiten, die im Addin Ribbon zu finden sind, sondern ein separater Ribbon.
(XML ist Neuland für mich, html noch ein Begriff) Irgendwo muss ja eine Startsequenz angestossen werden. Ein Toggle Button Ein/Aus wäre eine dufte Sache. Wo kann man nachlesen, wie das programmiert wird?
Gibt es evtl. ein Tool?
Wie oben zuvor beschrieben, sind bei xla Dateien die Tabellen imvb Project vorhanden, aber ausgeblendet.
Anstelle die Auswertungen über Exceltabellen darzustellen, könnte man die Ergebnisse der XLA Tabellen in die Zwischenablage als bitmap kopieren, temporär als bitmap speichern, in userform hintergrundbild einfügen, also temporäre Bitmapfile zuweisen, Bitmapfile löschen, Userfrom anzeigen.
So könnte man das Einblenden einer XLA Tabelle umgehen. Kann die Methode funktionieren?
Lassen sich Tabellen von XLA Dateien via Makro exportieren.
Das Tool beinhaltet zusätzlich noch ein Exportierprogramm. Die angewandte Methode ist einfach. Select sheet copy und paste in neues excelfile, dem Activesheet. xls speichern unter oder /und pdf speichern unter.
Das müßte doch weiterhin funktionieren?
Viele Gedanken und Fragen! Ich bin für jede Meinung dankbar.
Gruß Andi
Anzeige
ja, ziemlich viele Fragen...
06.12.2011 20:27:31
Christian
Hi Andi,
  • alle zuvor erwähnten Controls sind Standard-Controls bis auf das Listview. Für Bilder und Shapes in einem Userform würde ich immer das Image-Control bevorzugen. Ein Diagramm in der Tabelle ist auch ein Shape.
  • Wie man ein Shape in ein Userform einbindet, ohne dieses zuvor als Datei speichern zu müssen, hat kürzlich Nepumuk (Godfather of API) hier im Forum beantwortet: https://www.herber.de/forum/archiv/1236to1240/t1237688.htm
  • wenn nicht mehrere UserForms parallel geöffnet sein müssen, besser nur ein Userform verwenden und mit MultiPages arbeiten
  • überflüssig zu erwähnen - immer auf Select und Activate verzichten - statt dessen sauber referenzieren
  • nein, das Tabellenblatt (auch mehrere) eines Addins kann man nach meinem Wissen nicht einblenden, aber man kann es wie eine normale Tabelle nutzen. Also auch per Code ein Diagramm erzeugen, alle Zellen kopieren (aber bitte nicht mit Select), etc.
  • statt direkt in der Tabelle des AddIns zu arbeiten könntest du auch eine neue Mappe öffnen und hier deine Aktionen durchführen - musst du ausprobieren, was für deine Zwecke geeigneter ist
  • Statt bmp wäre wegen der Dateigröße png oder jpg zu bevorzugen. jpg ist bei Fotos besser, png bei Bilder mit Flächen gleicher Farbe, wie es idR bei Tabellen der Fall ist - auch das musst du für deine Zwecke ausprobieren
  • bzgl. Ribbon kann ich dir nicht viel sagen - aber es gibt hier im Archiv Beiträge, die auf entsprehende "HowTo's" verweisen
  • In kleinem Rahmen könntest du aber in einem Userform auch die Ansicht einer Tabelle mit Textboxes oder Labels darstellen (ggf die Controls auch dynamisch erzeugen). Ich schätze, bei bis zu 100 "Zellen" sollte das problemlos laufen. Auch das musst du für deine Zwecke testen. (je nach Hardware wird z.Bsp. beim Scrollen die Anzeige nicht mehr flüssig sein).

  • Rückmeldung wäre nett
    Gruß
    Christian
    Anzeige
    AW: Gute Anworten...
    07.12.2011 09:53:04
    Andi
    Hallo Christian,
    Danke für Dein Fachwissen und vor allem -Deine praktische Erfahrung-.
    Sauber zu referenzieren ist ein Axiom, Nepumuk Godfather :-)).
    Wenn das Projekt fertig erstellt ist -spätestens vor Weihnachten 2011- melde ich mich nochmal.
    Gruß Andi

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige